5#include6#include

黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

redis源碼筆記 - redis-cli.c

系統(tǒng) 2526 0

這份代碼是redis的client接口,其和server端的交互使用了deps目錄下的hiredis c庫,同時,在這部分代碼中,應(yīng)用了linenoise庫完成類似history命令查詢、自動補全等終端控制功能。

      
          1
      
       #include 
      
        "
      
      
        fmacros.h
      
      
        "       //用于mac下的兼容性處理
      
      
          2
      
       #include 
      
        "
      
      
        version.h
      
      
        "       //版本信息頭文件,當(dāng)前版本是2.4.10
      
      
          3
      
      
          4
      
       #include <stdio.h>

      
          5
      
       #include <
      
        string
      
      .h>

      
          6
      
       #include <stdlib.h>

      
          7
      
       #include <unistd.h>

      
          8
      
       #include <ctype.h>

      
          9
      
       #include <errno.h>

      
         10
      
       #include <sys/stat.h>

      
         11
      
       #include <sys/time.h>

      
         12
      
       #include <assert.h>

      
         13
      
      
         14
      
       #include 
      
        "
      
      
        hiredis.h
      
      
        "        //redis 客戶端庫的頭文件
      
      
         15
      
       #include 
      
        "
      
      
        sds.h
      
      
        "
      
      
         16
      
       #include 
      
        "
      
      
        zmalloc.h
      
      
        "
      
      
         17
      
       #include 
      
        "
      
      
        linenoise.h
      
      
        "      //終端控制庫的頭文件
      
      
         18
      
       #include 
      
        "
      
      
        help.h
      
      
        "           //當(dāng)前所有的命令文件匯總,用于tab自動補全功能的源數(shù)據(jù)
        
/* help entry的結(jié)構(gòu)如下:

struct commandHelp {
20 char *name; ? ? ? ? ?//命令名字
21 char *params; ? ? ? ?//參數(shù)格式
22 char *summary; ? ? ? //簡單的解釋信息
23 int group; ? ? ? ? ? //命令類型(當(dāng)前版本共分10種不同類型的命令)
24 char *since; ? ? ? ? //從哪個版本開始支持此命令
25 } */

      
         19
      
      
         20
      
      
        #define
      
       REDIS_NOTUSED(V) ((void) V)

      
         21
      
      
         22
      
      
        static
      
       redisContext *
      
        context;            //維護(hù)client和server端的連接信息,包括文件描述符,錯誤信息等,參見deps/hiredis/hiredis.h

      
      
         23
      
      
        static
      
      
        struct
      
      
         config {

      
      
         24
      
      
        char
      
       *
      
        hostip;

      
      
         25
      
      
        int
      
      
         hostport;

      
      
         26
      
      
        char
      
       *
      
        hostsocket;

      
      
         27
      
      
        long
      
      
         repeat;                         //命令重復(fù)執(zhí)行次數(shù)

      
      
         28
      
      
        long
      
      
         interval;                       //命令重復(fù)執(zhí)行間隔

      
      
         29
      
      
        int
      
      
         dbnum;                           // db no.

      
      
         30
      
      
        int
      
      
         interactive;                     //交互模式 or 命令模式

      
      
         31
      
      
        int
      
      
         shutdown;

      
      
         32
      
      
        int
      
      
         monitor_mode;                    //監(jiān)控模式

      
      
         33
      
      
        int
      
      
         pubsub_mode;                     //pub sub模式

      
      
         34
      
      
        int
      
      
         latency_mode;                    //該模式測試cli到server執(zhí)行ping命令的時間間隔(應(yīng)用層ping)

      
      
         35
      
      
        int
      
       stdinarg; 
      
        /*
      
      
         get last arg from stdin. (-x option) 
      
      
        */
      
      
         36
      
      
        char
      
       *
      
        auth;                          //需要鑒權(quán)時的密碼信息

      
      
         37
      
      
        int
      
       raw_output; 
      
        /*
      
      
         output mode per command 
      
      
        */      //選擇該模式,將不會添加類似(interger),參見
        
          http://blog.sina.com.cn/s/blog_6262a50e0100zw83.html
        
      
      
         38
      
      
            sds mb_delim;

      
      
         39
      
      
        char
      
       prompt[
      
        128
      
      
        ];           

      
      
         40
      
      
        } config;

      
      
         41
      
      
         42
      
      
        static
      
      
        void
      
      
         usage();

      
      
         43
      
      
        char
      
       *redisGitSHA1(
      
        void
      
      
        );

      
      
         44
      
      
        char
      
       *redisGitDirty(
      
        void
      
      
        );

      
      
         45
      
      
         46
      
      
        /*
      
      
        ------------------------------------------------------------------------------

      
      
         47
      
      
         * Utility functions

      
      
         48
      
      
         *--------------------------------------------------------------------------- 
      
      
        */
      
      
         49
      
      
         50
      
      
        static
      
      
        long
      
      
        long
      
       mstime(
      
        void
      
      
        ) {

      
      
         51
      
      
        struct
      
      
         timeval tv;

      
      
         52
      
      
        long
      
      
        long
      
      
         mst;

      
      
         53
      
      
         54
      
           gettimeofday(&
      
        tv, NULL);

      
      
         55
      
           mst = ((
      
        long
      
      )tv.tv_sec)*
      
        1000
      
      
        ;

      
      
         56
      
           mst += tv.tv_usec/
      
        1000
      
      
        ;

      
      
         57
      
      
        return
      
      
         mst;

      
      
         58
      
      
        }

      
      
         59
      
      
         60
      
      
        static
      
      
        void
      
       cliRefreshPrompt(
      
        void
      
      
        ) {

      
      
         61
      
      
        int
      
      
         len;

      
      
         62
      
      
         63
      
      
        if
      
       (config.hostsocket !=
      
         NULL)

      
      
         64
      
               len = snprintf(config.prompt,
      
        sizeof
      
      (config.prompt),
      
        "
      
      
        redis %s
      
      
        "
      
      
        ,

      
      
         65
      
      
                               config.hostsocket);

      
      
         66
      
      
        else
      
      
         67
      
               len = snprintf(config.prompt,
      
        sizeof
      
      (config.prompt),
      
        "
      
      
        redis %s:%d
      
      
        "
      
      
        ,

      
      
         68
      
      
                               config.hostip, config.hostport);

      
      
         69
      
      
        /*
      
      
         Add [dbnum] if needed 
      
      
        */
      
      
         70
      
      
        if
      
       (config.dbnum != 
      
        0
      
      
        )

      
      
         71
      
               len += snprintf(config.prompt+len,
      
        sizeof
      
      (config.prompt)-len,
      
        "
      
      
        [%d]
      
      
        "
      
      
        ,

      
      
         72
      
      
                    config.dbnum);

      
      
         73
      
           snprintf(config.prompt+len,
      
        sizeof
      
      (config.prompt)-len,
      
        "
      
      
        > 
      
      
        "
      
      
        );

      
      
         74
      
      
        }

      
      
         75
      
      
         76
      
      
        /*
      
      
        ------------------------------------------------------------------------------

      
      
         77
      
      
         * Help functions

      
      
         78
      
      
         *--------------------------------------------------------------------------- 
      
      
        */
      
      
         79
      
      
         80
      
      
        #define
      
       CLI_HELP_COMMAND 1

      
         81
      
      
        #define
      
       CLI_HELP_GROUP 2

      
         82
      
      
         83
      
       typedef 
      
        struct
      
      
         {

      
      
         84
      
      
        int
      
      
         type;

      
      
         85
      
      
        int
      
      
         argc;

      
      
         86
      
           sds *
      
        argv;

      
      
         87
      
      
            sds full;

      
      
         88
      
      
         89
      
      
        /*
      
      
         Only used for help on commands 
      
      
        */
      
      
         90
      
      
        struct
      
       commandHelp *
      
        org;

      
      
         91
      
      
        } helpEntry;

      
      
         92
      
      
         93
      
      
        static
      
       helpEntry *
      
        helpEntries;

      
      
         94
      
      
        static
      
      
        int
      
      
         helpEntriesLen;

      
      
         95
      
      
         96
      
      
        static
      
      
         sds cliVersion() {

      
      
         97
      
      
            sds version;

      
      
         98
      
           version = sdscatprintf(sdsempty(), 
      
        "
      
      
        %s
      
      
        "
      
      
        , REDIS_VERSION);

      
      
         99
      
      
        100
      
      
        /*
      
      
         Add git commit and working tree status when available 
      
      
        */
      
      
        101
      
      
        if
      
       (strtoll(redisGitSHA1(),NULL,
      
        16
      
      
        )) {

      
      
        102
      
               version = sdscatprintf(version, 
      
        "
      
      
         (git:%s
      
      
        "
      
      
        , redisGitSHA1());

      
      
        103
      
      
        if
      
       (strtoll(redisGitDirty(),NULL,
      
        10
      
      
        ))

      
      
        104
      
                   version = sdscatprintf(version, 
      
        "
      
      
        -dirty
      
      
        "
      
      
        );

      
      
        105
      
               version = sdscat(version, 
      
        "
      
      
        )
      
      
        "
      
      
        );

      
      
        106
      
      
            }

      
      
        107
      
      
        return
      
      
         version;

      
      
        108
      
      
        }

      
      
        109
      
      
        110
      
      
        static
      
      
        void
      
      
         cliInitHelp() {

      
      
        111
      
      
        int
      
       commandslen = 
      
        sizeof
      
      (commandHelp)/
      
        sizeof
      
      (
      
        struct
      
      
         commandHelp);

      
      
        112
      
      
        int
      
       groupslen = 
      
        sizeof
      
      (commandGroups)/
      
        sizeof
      
      (
      
        char
      
      *
      
        );

      
      
        113
      
      
        int
      
       i, len, pos = 
      
        0
      
      
        ;

      
      
        114
      
      
            helpEntry tmp;

      
      
        115
      
      
        116
      
           helpEntriesLen = len = commandslen+
      
        groupslen;

      
      
        117
      
           helpEntries = malloc(
      
        sizeof
      
      (helpEntry)*
      
        len);

      
      
        118
      
      
        119
      
      
        for
      
       (i = 
      
        0
      
      ; i < groupslen; i++
      
        ) {

      
      
        120
      
               tmp.argc = 
      
        1
      
      
        ;

      
      
        121
      
               tmp.argv = malloc(
      
        sizeof
      
      
        (sds));

      
      
        122
      
               tmp.argv[
      
        0
      
      ] = sdscatprintf(sdsempty(),
      
        "
      
      
        @%s
      
      
        "
      
      
        ,commandGroups[i]);

      
      
        123
      
               tmp.full = tmp.argv[
      
        0
      
      
        ];

      
      
        124
      
               tmp.type =
      
         CLI_HELP_GROUP;

      
      
        125
      
               tmp.org =
      
         NULL;

      
      
        126
      
               helpEntries[pos++] =
      
         tmp;

      
      
        127
      
      
            }

      
      
        128
      
      
        129
      
      
        for
      
       (i = 
      
        0
      
      ; i < commandslen; i++
      
        ) {

      
      
        130
      
               tmp.argv = sdssplitargs(commandHelp[i].name,&
      
        tmp.argc);

      
      
        131
      
               tmp.full =
      
         sdsnew(commandHelp[i].name);

      
      
        132
      
               tmp.type =
      
         CLI_HELP_COMMAND;

      
      
        133
      
               tmp.org = &
      
        commandHelp[i];

      
      
        134
      
               helpEntries[pos++] =
      
         tmp;

      
      
        135
      
      
            }

      
      
        136
      
      
        }

      
      
        137
      
      
        138
      
      
        /*
      
      
         Output command help to stdout. 
      
      
        */
      
      
        139
      
      
        static
      
      
        void
      
       cliOutputCommandHelp(
      
        struct
      
       commandHelp *help, 
      
        int
      
      
         group) {

      
      
        140
      
           printf(
      
        "
      
      
        \r\n  \x1b[1m%s\x1b[0m \x1b[90m%s\x1b[0m\r\n
      
      
        "
      
      , help->name, help->
      
        params
      
      
        );

      
      
        141
      
           printf(
      
        "
      
      
          \x1b[33msummary:\x1b[0m %s\r\n
      
      
        "
      
      , help->
      
        summary);

      
      
        142
      
           printf(
      
        "
      
      
          \x1b[33msince:\x1b[0m %s\r\n
      
      
        "
      
      , help->
      
        since);

      
      
        143
      
      
        if
      
      
         (group) {

      
      
        144
      
               printf(
      
        "
      
      
          \x1b[33mgroup:\x1b[0m %s\r\n
      
      
        "
      
      , commandGroups[help->
      
        group]);

      
      
        145
      
      
            }

      
      
        146
      
      
        }

      
      
        147
      
      
        148
      
      
        /*
      
      
         Print generic help. 
      
      
        */
      
      
        149
      
      
        static
      
      
        void
      
      
         cliOutputGenericHelp() {

      
      
        150
      
           sds version =
      
         cliVersion();

      
      
        151
      
      
            printf(

      
      
        152
      
      
        "
      
      
        redis-cli %s\r\n
      
      
        "
      
      
        153
      
      
        "
      
      
        Type: \"help @<group>\" to get a list of commands in <group>\r\n
      
      
        "
      
      
        154
      
      
        "
      
      
              \"help <command>\" for help on <command>\r\n
      
      
        "
      
      
        155
      
      
        "
      
      
              \"help <tab>\" to get a list of possible help topics\r\n
      
      
        "
      
      
        156
      
      
        "
      
      
              \"quit\" to exit\r\n
      
      
        "
      
      
        ,

      
      
        157
      
      
                version

      
      
        158
      
      
            );

      
      
        159
      
      
            sdsfree(version);

      
      
        160
      
      
        }

      
      
        161
      
      
        162
      
      
        /*
      
      
         Output all command help, filtering by group or command name. 
      
      
        */
      
      
        163
      
      
        static
      
      
        void
      
       cliOutputHelp(
      
        int
      
       argc, 
      
        char
      
       **
      
        argv) {

      
      
        164
      
      
        int
      
      
         i, j, len;

      
      
        165
      
      
        int
      
       group = -
      
        1
      
      
        ;

      
      
        166
      
           helpEntry *
      
        entry;

      
      
        167
      
      
        struct
      
       commandHelp *
      
        help;

      
      
        168
      
      
        169
      
      
        if
      
       (argc == 
      
        0
      
      
        ) {

      
      
        170
      
      
                cliOutputGenericHelp();

      
      
        171
      
      
        return
      
      
        ;

      
      
        172
      
           } 
      
        else
      
      
        if
      
       (argc > 
      
        0
      
       && argv[
      
        0
      
      ][
      
        0
      
      ] == 
      
        '
      
      
        @
      
      
        '
      
      
        ) {

      
      
        173
      
               len = 
      
        sizeof
      
      (commandGroups)/
      
        sizeof
      
      (
      
        char
      
      *
      
        );

      
      
        174
      
      
        for
      
       (i = 
      
        0
      
      ; i < len; i++
      
        ) {

      
      
        175
      
      
        if
      
       (strcasecmp(argv[
      
        0
      
      ]+
      
        1
      
      ,commandGroups[i]) == 
      
        0
      
      
        ) {

      
      
        176
      
                       group =
      
         i;

      
      
        177
      
      
        break
      
      
        ;

      
      
        178
      
      
                    }

      
      
        179
      
      
                }

      
      
        180
      
      
            }

      
      
        181
      
      
        182
      
           assert(argc > 
      
        0
      
      
        );

      
      
        183
      
      
        for
      
       (i = 
      
        0
      
      ; i < helpEntriesLen; i++
      
        ) {

      
      
        184
      
               entry = &
      
        helpEntries[i];

      
      
        185
      
      
        if
      
       (entry->type != CLI_HELP_COMMAND) 
      
        continue
      
      
        ;

      
      
        186
      
      
        187
      
               help = entry->
      
        org;

      
      
        188
      
      
        if
      
       (group == -
      
        1
      
      
        ) {

      
      
        189
      
      
        /*
      
      
         Compare all arguments 
      
      
        */
      
      
        190
      
      
        if
      
       (argc == entry->
      
        argc) {

      
      
        191
      
      
        for
      
       (j = 
      
        0
      
      ; j < argc; j++
      
        ) {

      
      
        192
      
      
        if
      
       (strcasecmp(argv[j],entry->argv[j]) != 
      
        0
      
      ) 
      
        break
      
      
        ;

      
      
        193
      
      
                        }

      
      
        194
      
      
        if
      
       (j ==
      
         argc) {

      
      
        195
      
                           cliOutputCommandHelp(help,
      
        1
      
      
        );

      
      
        196
      
      
                        }

      
      
        197
      
      
                    }

      
      
        198
      
               } 
      
        else
      
      
         {

      
      
        199
      
      
        if
      
       (group == help->
      
        group) {

      
      
        200
      
                       cliOutputCommandHelp(help,
      
        0
      
      
        );

      
      
        201
      
      
                    }

      
      
        202
      
      
                }

      
      
        203
      
      
            }

      
      
        204
      
           printf(
      
        "
      
      
        \r\n
      
      
        "
      
      
        );

      
      
        205
      
      
        }

      
      
        206
      
      
        207
      
      
        static
      
      
        void
      
       completionCallback(
      
        const
      
      
        char
      
       *buf, linenoiseCompletions *
      
        lc) {

      
      
        208
      
           size_t startpos = 
      
        0
      
      
        ;

      
      
        209
      
      
        int
      
      
         mask;

      
      
        210
      
      
        int
      
      
         i;

      
      
        211
      
      
            size_t matchlen;

      
      
        212
      
      
            sds tmp;

      
      
        213
      
      
        214
      
      
        if
      
       (strncasecmp(buf,
      
        "
      
      
        help 
      
      
        "
      
      ,
      
        5
      
      ) == 
      
        0
      
      
        ) {

      
      
        215
      
               startpos = 
      
        5
      
      
        ;

      
      
        216
      
      
        while
      
       (isspace(buf[startpos])) startpos++
      
        ;

      
      
        217
      
               mask = CLI_HELP_COMMAND |
      
         CLI_HELP_GROUP;

      
      
        218
      
           } 
      
        else
      
      
         {

      
      
        219
      
               mask =
      
         CLI_HELP_COMMAND;

      
      
        220
      
      
            }

      
      
        221
      
      
        222
      
      
        for
      
       (i = 
      
        0
      
      ; i < helpEntriesLen; i++
      
        ) {

      
      
        223
      
      
        if
      
       (!(helpEntries[i].type & mask)) 
      
        continue
      
      
        ;

      
      
        224
      
      
        225
      
               matchlen = strlen(buf+
      
        startpos);

      
      
        226
      
      
        if
      
       (strncasecmp(buf+startpos,helpEntries[i].full,matchlen) == 
      
        0
      
      
        ) {

      
      
        227
      
                   tmp =
      
         sdsnewlen(buf,startpos);

      
      
        228
      
                   tmp =
      
         sdscat(tmp,helpEntries[i].full);

      
      
        229
      
      
                    linenoiseAddCompletion(lc,tmp);

      
      
        230
      
      
                    sdsfree(tmp);

      
      
        231
      
      
                }

      
      
        232
      
      
            }

      
      
        233
      
      
        }

      
      
        234
      
      
        235
      
      
        /*
      
      
        ------------------------------------------------------------------------------

      
      
        236
      
      
         * Networking / parsing

      
      
        237
      
      
         *--------------------------------------------------------------------------- 
      
      
        */
      
      
        238
      
      
        239
      
      
        /*
      
      
         Send AUTH command to the server 
      
      
        */
      
      
        240
      
      
        static
      
      
        int
      
      
         cliAuth() {

      
      
        241
      
           redisReply *
      
        reply;

      
      
        242
      
      
        if
      
       (config.auth == NULL) 
      
        return
      
      
         REDIS_OK;

      
      
        243
      
      
        244
      
           reply = redisCommand(context,
      
        "
      
      
        AUTH %s
      
      
        "
      
      
        ,config.auth);

      
      
        245
      
      
        if
      
       (reply !=
      
         NULL) {

      
      
        246
      
      
                freeReplyObject(reply);

      
      
        247
      
      
        return
      
      
         REDIS_OK;

      
      
        248
      
      
            }

      
      
        249
      
      
        return
      
      
         REDIS_ERR;

      
      
        250
      
      
        }

      
      
        251
      
      
        252
      
      
        /*
      
      
         Send SELECT dbnum to the server 
      
      
        */
      
      
        253
      
      
        static
      
      
        int
      
      
         cliSelect() {

      
      
        254
      
           redisReply *
      
        reply;

      
      
        255
      
      
        if
      
       (config.dbnum == 
      
        0
      
      ) 
      
        return
      
      
         REDIS_OK;

      
      
        256
      
      
        257
      
           reply = redisCommand(context,
      
        "
      
      
        SELECT %d
      
      
        "
      
      
        ,config.dbnum);

      
      
        258
      
      
        if
      
       (reply !=
      
         NULL) {

      
      
        259
      
      
                freeReplyObject(reply);

      
      
        260
      
      
        return
      
      
         REDIS_OK;

      
      
        261
      
      
            }

      
      
        262
      
      
        return
      
      
         REDIS_ERR;

      
      
        263
      
      
        }

      
      
        264
      
      
        265
      
      
        /*
      
      
         Connect to the client. If force is not zero the connection is performed

      
      
        266
      
      
         * even if there is already a connected socket. 
      
      
        */
      
      
        267
      
      
        static
      
      
        int
      
       cliConnect(
      
        int
      
      
         force) {

      
      
        268
      
      
        if
      
       (context == NULL ||
      
         force) {

      
      
        269
      
      
        if
      
       (context !=
      
         NULL)

      
      
        270
      
      
                    redisFree(context);

      
      
        271
      
      
        272
      
      
        if
      
       (config.hostsocket ==
      
         NULL) {

      
      
        273
      
                   context =
      
         redisConnect(config.hostip,config.hostport);

      
      
        274
      
               } 
      
        else
      
      
         {

      
      
        275
      
                   context =
      
         redisConnectUnix(config.hostsocket);

      
      
        276
      
      
                }

      
      
        277
      
      
        278
      
      
        if
      
       (context->
      
        err) {

      
      
        279
      
                   fprintf(stderr,
      
        "
      
      
        Could not connect to Redis at 
      
      
        "
      
      
        );

      
      
        280
      
      
        if
      
       (config.hostsocket ==
      
         NULL)

      
      
        281
      
                       fprintf(stderr,
      
        "
      
      
        %s:%d: %s\n
      
      
        "
      
      ,config.hostip,config.hostport,context->
      
        errstr);

      
      
        282
      
      
        else
      
      
        283
      
                       fprintf(stderr,
      
        "
      
      
        %s: %s\n
      
      
        "
      
      ,config.hostsocket,context->
      
        errstr);

      
      
        284
      
      
                    redisFree(context);

      
      
        285
      
                   context =
      
         NULL;

      
      
        286
      
      
        return
      
      
         REDIS_ERR;

      
      
        287
      
      
                }

      
      
        288
      
      
        289
      
      
        /*
      
      
         Do AUTH and select the right DB. 
      
      
        */
      
      
        290
      
      
        if
      
       (cliAuth() !=
      
         REDIS_OK)

      
      
        291
      
      
        return
      
      
         REDIS_ERR;

      
      
        292
      
      
        if
      
       (cliSelect() !=
      
         REDIS_OK)

      
      
        293
      
      
        return
      
      
         REDIS_ERR;

      
      
        294
      
      
            }

      
      
        295
      
      
        return
      
      
         REDIS_OK;

      
      
        296
      
      
        }

      
      
        297
      
      
        298
      
      
        static
      
      
        void
      
      
         cliPrintContextError() {

      
      
        299
      
      
        if
      
       (context == NULL) 
      
        return
      
      
        ;

      
      
        300
      
           fprintf(stderr,
      
        "
      
      
        Error: %s\n
      
      
        "
      
      ,context->
      
        errstr);

      
      
        301
      
      
        }

      
      
        302
      
      
        303
      
      
        static
      
       sds cliFormatReplyTTY(redisReply *r, 
      
        char
      
       *
      
        prefix) {

      
      
        304
      
           sds 
      
        out
      
       =
      
         sdsempty();

      
      
        305
      
      
        switch
      
       (r->
      
        type) {

      
      
        306
      
      
        case
      
      
         REDIS_REPLY_ERROR:

      
      
        307
      
      
        out
      
       = sdscatprintf(
      
        out
      
      ,
      
        "
      
      
        (error) %s\n
      
      
        "
      
      , r->
      
        str);

      
      
        308
      
      
        break
      
      
        ;

      
      
        309
      
      
        case
      
      
         REDIS_REPLY_STATUS:

      
      
        310
      
      
        out
      
       = sdscat(
      
        out
      
      ,r->
      
        str);

      
      
        311
      
      
        out
      
       = sdscat(
      
        out
      
      ,
      
        "
      
      
        \n
      
      
        "
      
      
        );

      
      
        312
      
      
        break
      
      
        ;

      
      
        313
      
      
        case
      
      
         REDIS_REPLY_INTEGER:

      
      
        314
      
      
        out
      
       = sdscatprintf(
      
        out
      
      ,
      
        "
      
      
        (integer) %lld\n
      
      
        "
      
      ,r->
      
        integer);

      
      
        315
      
      
        break
      
      
        ;

      
      
        316
      
      
        case
      
      
         REDIS_REPLY_STRING:

      
      
        317
      
      
        /*
      
      
         If you are producing output for the standard output we want

      
      
        318
      
      
                * a more interesting output with quoted characters and so forth 
      
      
        */
      
      
        319
      
      
        out
      
       = sdscatrepr(
      
        out
      
      ,r->str,r->
      
        len);

      
      
        320
      
      
        out
      
       = sdscat(
      
        out
      
      ,
      
        "
      
      
        \n
      
      
        "
      
      
        );

      
      
        321
      
      
        break
      
      
        ;

      
      
        322
      
      
        case
      
      
         REDIS_REPLY_NIL:

      
      
        323
      
      
        out
      
       = sdscat(
      
        out
      
      ,
      
        "
      
      
        (nil)\n
      
      
        "
      
      
        );

      
      
        324
      
      
        break
      
      
        ;

      
      
        325
      
      
        case
      
      
         REDIS_REPLY_ARRAY:

      
      
        326
      
      
        if
      
       (r->elements == 
      
        0
      
      
        ) {

      
      
        327
      
      
        out
      
       = sdscat(
      
        out
      
      ,
      
        "
      
      
        (empty list or set)\n
      
      
        "
      
      
        );

      
      
        328
      
               } 
      
        else
      
      
         {

      
      
        329
      
                   unsigned 
      
        int
      
       i, idxlen = 
      
        0
      
      
        ;

      
      
        330
      
      
        char
      
       _prefixlen[
      
        16
      
      
        ];

      
      
        331
      
      
        char
      
       _prefixfmt[
      
        16
      
      
        ];

      
      
        332
      
      
                    sds _prefix;

      
      
        333
      
      
                    sds tmp;

      
      
        334
      
      
        335
      
      
        /*
      
      
         Calculate chars needed to represent the largest index 
      
      
        */
      
      
        336
      
                   i = r->
      
        elements;

      
      
        337
      
      
        do
      
      
         {

      
      
        338
      
                       idxlen++
      
        ;

      
      
        339
      
                       i /= 
      
        10
      
      
        ;

      
      
        340
      
                   } 
      
        while
      
      
        (i);

      
      
        341
      
      
        342
      
      
        /*
      
      
         Prefix for nested multi bulks should grow with idxlen+2 spaces 
      
      
        */
      
      
        343
      
                   memset(_prefixlen,
      
        '
      
      
        '
      
      ,idxlen+
      
        2
      
      
        );

      
      
        344
      
                   _prefixlen[idxlen+
      
        2
      
      ] = 
      
        '
      
      
        \0
      
      
        '
      
      
        ;

      
      
        345
      
                   _prefix =
      
         sdscat(sdsnew(prefix),_prefixlen);

      
      
        346
      
      
        347
      
      
        /*
      
      
         Setup prefix format for every entry 
      
      
        */
      
      
        348
      
                   snprintf(_prefixfmt,
      
        sizeof
      
      (_prefixfmt),
      
        "
      
      
        %%s%%%dd) 
      
      
        "
      
      
        ,idxlen);

      
      
        349
      
      
        350
      
      
        for
      
       (i = 
      
        0
      
      ; i < r->elements; i++
      
        ) {

      
      
        351
      
      
        /*
      
      
         Don't use the prefix for the first element, as the parent

      
      
        352
      
      
                         * caller already prepended the index number. 
      
      
        */
      
      
        353
      
      
        out
      
       = sdscatprintf(
      
        out
      
      ,_prefixfmt,i == 
      
        0
      
       ? 
      
        ""
      
       : prefix,i+
      
        1
      
      
        );

      
      
        354
      
      
        355
      
      
        /*
      
      
         Format the multi bulk entry 
      
      
        */
      
      
        356
      
                       tmp = cliFormatReplyTTY(r->
      
        element[i],_prefix);

      
      
        357
      
      
        out
      
       = sdscatlen(
      
        out
      
      
        ,tmp,sdslen(tmp));

      
      
        358
      
      
                        sdsfree(tmp);

      
      
        359
      
      
                    }

      
      
        360
      
      
                    sdsfree(_prefix);

      
      
        361
      
      
                }

      
      
        362
      
      
        break
      
      
        ;

      
      
        363
      
      
        default
      
      
        :

      
      
        364
      
               fprintf(stderr,
      
        "
      
      
        Unknown reply type: %d\n
      
      
        "
      
      , r->
      
        type);

      
      
        365
      
               exit(
      
        1
      
      
        );

      
      
        366
      
      
            }

      
      
        367
      
      
        return
      
      
        out
      
      
        ;

      
      
        368
      
      
        }

      
      
        369
      
      
        370
      
      
        static
      
       sds cliFormatReplyRaw(redisReply *
      
        r) {

      
      
        371
      
           sds 
      
        out
      
       =
      
         sdsempty(), tmp;

      
      
        372
      
      
            size_t i;

      
      
        373
      
      
        374
      
      
        switch
      
       (r->
      
        type) {

      
      
        375
      
      
        case
      
      
         REDIS_REPLY_NIL:

      
      
        376
      
      
        /*
      
      
         Nothing... 
      
      
        */
      
      
        377
      
      
        break
      
      
        ;

      
      
        378
      
      
        case
      
      
         REDIS_REPLY_ERROR:

      
      
        379
      
      
        out
      
       = sdscatlen(
      
        out
      
      ,r->str,r->
      
        len);

      
      
        380
      
      
        out
      
       = sdscatlen(
      
        out
      
      ,
      
        "
      
      
        \n
      
      
        "
      
      ,
      
        1
      
      
        );

      
      
        381
      
      
        break
      
      
        ;

      
      
        382
      
      
        case
      
      
         REDIS_REPLY_STATUS:

      
      
        383
      
      
        case
      
      
         REDIS_REPLY_STRING:

      
      
        384
      
      
        out
      
       = sdscatlen(
      
        out
      
      ,r->str,r->
      
        len);

      
      
        385
      
      
        break
      
      
        ;

      
      
        386
      
      
        case
      
      
         REDIS_REPLY_INTEGER:

      
      
        387
      
      
        out
      
       = sdscatprintf(
      
        out
      
      ,
      
        "
      
      
        %lld
      
      
        "
      
      ,r->
      
        integer);

      
      
        388
      
      
        break
      
      
        ;

      
      
        389
      
      
        case
      
      
         REDIS_REPLY_ARRAY:

      
      
        390
      
      
        for
      
       (i = 
      
        0
      
      ; i < r->elements; i++
      
        ) {

      
      
        391
      
      
        if
      
       (i > 
      
        0
      
      ) 
      
        out
      
       = sdscat(
      
        out
      
      
        ,config.mb_delim);

      
      
        392
      
                   tmp = cliFormatReplyRaw(r->
      
        element[i]);

      
      
        393
      
      
        out
      
       = sdscatlen(
      
        out
      
      
        ,tmp,sdslen(tmp));

      
      
        394
      
      
                    sdsfree(tmp);

      
      
        395
      
      
                }

      
      
        396
      
      
        break
      
      
        ;

      
      
        397
      
      
        default
      
      
        :

      
      
        398
      
               fprintf(stderr,
      
        "
      
      
        Unknown reply type: %d\n
      
      
        "
      
      , r->
      
        type);

      
      
        399
      
               exit(
      
        1
      
      
        );

      
      
        400
      
      
            }

      
      
        401
      
      
        return
      
      
        out
      
      
        ;

      
      
        402
      
      
        }

      
      
        403
      
      
        404
      
      
        static
      
      
        int
      
       cliReadReply(
      
        int
      
      
         output_raw_strings) {

      
      
        405
      
      
        void
      
       *
      
        _reply;

      
      
        406
      
           redisReply *
      
        reply;

      
      
        407
      
           sds 
      
        out
      
      
        ;

      
      
        408
      
      
        409
      
      
        if
      
       (redisGetReply(context,&_reply) !=
      
         REDIS_OK) {

      
      
        410
      
      
        if
      
      
         (config.shutdown)

      
      
        411
      
      
        return
      
      
         REDIS_OK;

      
      
        412
      
      
        if
      
      
         (config.interactive) {

      
      
        413
      
      
        /*
      
      
         Filter cases where we should reconnect 
      
      
        */
      
      
        414
      
      
        if
      
       (context->err == REDIS_ERR_IO && errno ==
      
         ECONNRESET)

      
      
        415
      
      
        return
      
      
         REDIS_ERR;

      
      
        416
      
      
        if
      
       (context->err ==
      
         REDIS_ERR_EOF)

      
      
        417
      
      
        return
      
      
         REDIS_ERR;

      
      
        418
      
      
                }

      
      
        419
      
      
                cliPrintContextError();

      
      
        420
      
               exit(
      
        1
      
      
        );

      
      
        421
      
      
        return
      
       REDIS_ERR; 
      
        /*
      
      
         avoid compiler warning 
      
      
        */
      
      
        422
      
      
            }

      
      
        423
      
      
        424
      
           reply = (redisReply*
      
        )_reply;

      
      
        425
      
      
        if
      
      
         (output_raw_strings) {

      
      
        426
      
      
        out
      
       =
      
         cliFormatReplyRaw(reply);

      
      
        427
      
           } 
      
        else
      
      
         {

      
      
        428
      
      
        if
      
      
         (config.raw_output) {

      
      
        429
      
      
        out
      
       =
      
         cliFormatReplyRaw(reply);

      
      
        430
      
      
        out
      
       = sdscat(
      
        out
      
      ,
      
        "
      
      
        \n
      
      
        "
      
      
        );

      
      
        431
      
               } 
      
        else
      
      
         {

      
      
        432
      
      
        out
      
       = cliFormatReplyTTY(reply,
      
        ""
      
      
        );

      
      
        433
      
      
                }

      
      
        434
      
      
            }

      
      
        435
      
           fwrite(
      
        out
      
      ,sdslen(
      
        out
      
      ),
      
        1
      
      
        ,stdout);

      
      
        436
      
           sdsfree(
      
        out
      
      
        );

      
      
        437
      
      
            freeReplyObject(reply);

      
      
        438
      
      
        return
      
      
         REDIS_OK;

      
      
        439
      
      
        }

      
      
        440
      
      
        441
      
      
        static
      
      
        int
      
       cliSendCommand(
      
        int
      
       argc, 
      
        char
      
       **argv, 
      
        int
      
      
         repeat) {

      
      
        442
      
      
        char
      
       *command = argv[
      
        0
      
      
        ];

      
      
        443
      
           size_t *
      
        argvlen;

      
      
        444
      
      
        int
      
      
         j, output_raw;

      
      
        445
      
      
        446
      
      
        if
      
       (!strcasecmp(command,
      
        "
      
      
        help
      
      
        "
      
      ) || !strcasecmp(command,
      
        "
      
      
        ?
      
      
        "
      
      
        )) {

      
      
        447
      
               cliOutputHelp(--argc, ++
      
        argv);

      
      
        448
      
      
        return
      
      
         REDIS_OK;

      
      
        449
      
      
            }

      
      
        450
      
      
        451
      
      
        if
      
       (context == NULL) 
      
        return
      
      
         REDIS_ERR;

      
      
        452
      
      
        453
      
           output_raw = 
      
        0
      
      
        ;

      
      
        454
      
      
        if
      
       (!strcasecmp(command,
      
        "
      
      
        info
      
      
        "
      
      ) ||

      
        455
      
               (argc == 
      
        2
      
       && !strcasecmp(command,
      
        "
      
      
        client
      
      
        "
      
      ) &&

      
        456
      
                              !strcasecmp(argv[
      
        1
      
      ],
      
        "
      
      
        list
      
      
        "
      
      
        )))

      
      
        457
      
      
        458
      
      
            {

      
      
        459
      
               output_raw = 
      
        1
      
      
        ;

      
      
        460
      
      
            }

      
      
        461
      
      
        462
      
      
        if
      
       (!strcasecmp(command,
      
        "
      
      
        shutdown
      
      
        "
      
      )) config.shutdown = 
      
        1
      
      
        ;

      
      
        463
      
      
        if
      
       (!strcasecmp(command,
      
        "
      
      
        monitor
      
      
        "
      
      )) config.monitor_mode = 
      
        1
      
      
        ;

      
      
        464
      
      
        if
      
       (!strcasecmp(command,
      
        "
      
      
        subscribe
      
      
        "
      
      ) ||

      
        465
      
               !strcasecmp(command,
      
        "
      
      
        psubscribe
      
      
        "
      
      )) config.pubsub_mode = 
      
        1
      
      
        ;

      
      
        466
      
      
        467
      
      
        /*
      
      
         Setup argument length 
      
      
        */
      
      
        468
      
           argvlen = malloc(argc*
      
        sizeof
      
      
        (size_t));

      
      
        469
      
      
        for
      
       (j = 
      
        0
      
      ; j < argc; j++
      
        )

      
      
        470
      
               argvlen[j] =
      
         sdslen(argv[j]);

      
      
        471
      
      
        472
      
      
        while
      
      (repeat--
      
        ) {

      
      
        473
      
               redisAppendCommandArgv(context,argc,(
      
        const
      
      
        char
      
      **
      
        )argv,argvlen);

      
      
        474
      
      
        while
      
      
         (config.monitor_mode) {

      
      
        475
      
      
        if
      
       (cliReadReply(output_raw) != REDIS_OK) exit(
      
        1
      
      
        );

      
      
        476
      
      
                    fflush(stdout);

      
      
        477
      
      
                }

      
      
        478
      
      
        479
      
      
        if
      
      
         (config.pubsub_mode) {

      
      
        480
      
      
        if
      
       (!
      
        config.raw_output)

      
      
        481
      
                       printf(
      
        "
      
      
        Reading messages... (press Ctrl-C to quit)\n
      
      
        "
      
      
        );

      
      
        482
      
      
        while
      
       (
      
        1
      
      
        ) {

      
      
        483
      
      
        if
      
       (cliReadReply(output_raw) != REDIS_OK) exit(
      
        1
      
      
        );

      
      
        484
      
      
                    }

      
      
        485
      
      
                }

      
      
        486
      
      
        487
      
      
        if
      
       (cliReadReply(output_raw) !=
      
         REDIS_OK) {

      
      
        488
      
      
                    free(argvlen);

      
      
        489
      
      
        return
      
      
         REDIS_ERR;

      
      
        490
      
               } 
      
        else
      
      
         {

      
      
        491
      
      
        /*
      
      
         Store database number when SELECT was successfully executed. 
      
      
        */
      
      
        492
      
      
        if
      
       (!strcasecmp(command,
      
        "
      
      
        select
      
      
        "
      
      ) && argc == 
      
        2
      
      
        ) {

      
      
        493
      
                       config.dbnum = atoi(argv[
      
        1
      
      
        ]);

      
      
        494
      
      
                        cliRefreshPrompt();

      
      
        495
      
      
                    }

      
      
        496
      
      
                }

      
      
        497
      
      
        if
      
      
         (config.interval) usleep(config.interval);

      
      
        498
      
               fflush(stdout); 
      
        /*
      
      
         Make it grep friendly 
      
      
        */
      
      
        499
      
      
            }

      
      
        500
      
      
        501
      
      
            free(argvlen);

      
      
        502
      
      
        return
      
      
         REDIS_OK;

      
      
        503
      
      
        }

      
      
        504
      
      
        505
      
      
        /*
      
      
        ------------------------------------------------------------------------------

      
      
        506
      
      
         * User interface

      
      
        507
      
      
         *--------------------------------------------------------------------------- 
      
      
        */
      
      
        508
      
      
        509
      
      
        static
      
      
        int
      
       parseOptions(
      
        int
      
       argc, 
      
        char
      
       **
      
        argv) {

      
      
        510
      
      
        int
      
      
         i;

      
      
        511
      
      
        512
      
      
        for
      
       (i = 
      
        1
      
      ; i < argc; i++
      
        ) {

      
      
        513
      
      
        int
      
       lastarg = i==argc-
      
        1
      
      
        ;

      
      
        514
      
      
        515
      
      
        if
      
       (!strcmp(argv[i],
      
        "
      
      
        -h
      
      
        "
      
      ) && !
      
        lastarg) {

      
      
        516
      
      
                    sdsfree(config.hostip);

      
      
        517
      
                   config.hostip = sdsnew(argv[i+
      
        1
      
      
        ]);

      
      
        518
      
                   i++
      
        ;

      
      
        519
      
               } 
      
        else
      
      
        if
      
       (!strcmp(argv[i],
      
        "
      
      
        -h
      
      
        "
      
      ) &&
      
         lastarg) {

      
      
        520
      
      
                    usage();

      
      
        521
      
               } 
      
        else
      
      
        if
      
       (!strcmp(argv[i],
      
        "
      
      
        --help
      
      
        "
      
      
        )) {

      
      
        522
      
      
                    usage();

      
      
        523
      
               } 
      
        else
      
      
        if
      
       (!strcmp(argv[i],
      
        "
      
      
        -x
      
      
        "
      
      
        )) {

      
      
        524
      
                   config.stdinarg = 
      
        1
      
      
        ;

      
      
        525
      
               } 
      
        else
      
      
        if
      
       (!strcmp(argv[i],
      
        "
      
      
        -p
      
      
        "
      
      ) && !
      
        lastarg) {

      
      
        526
      
                   config.hostport = atoi(argv[i+
      
        1
      
      
        ]);

      
      
        527
      
                   i++
      
        ;

      
      
        528
      
               } 
      
        else
      
      
        if
      
       (!strcmp(argv[i],
      
        "
      
      
        -s
      
      
        "
      
      ) && !
      
        lastarg) {

      
      
        529
      
                   config.hostsocket = argv[i+
      
        1
      
      
        ];

      
      
        530
      
                   i++
      
        ;

      
      
        531
      
               } 
      
        else
      
      
        if
      
       (!strcmp(argv[i],
      
        "
      
      
        -r
      
      
        "
      
      ) && !
      
        lastarg) {

      
      
        532
      
                   config.repeat = strtoll(argv[i+
      
        1
      
      ],NULL,
      
        10
      
      
        );

      
      
        533
      
                   i++
      
        ;

      
      
        534
      
               } 
      
        else
      
      
        if
      
       (!strcmp(argv[i],
      
        "
      
      
        -i
      
      
        "
      
      ) && !
      
        lastarg) {

      
      
        535
      
      
        double
      
       seconds = atof(argv[i+
      
        1
      
      
        ]);

      
      
        536
      
                   config.interval = seconds*
      
        1000000
      
      
        ;

      
      
        537
      
                   i++
      
        ;

      
      
        538
      
               } 
      
        else
      
      
        if
      
       (!strcmp(argv[i],
      
        "
      
      
        -n
      
      
        "
      
      ) && !
      
        lastarg) {

      
      
        539
      
                   config.dbnum = atoi(argv[i+
      
        1
      
      
        ]);

      
      
        540
      
                   i++
      
        ;

      
      
        541
      
               } 
      
        else
      
      
        if
      
       (!strcmp(argv[i],
      
        "
      
      
        -a
      
      
        "
      
      ) && !
      
        lastarg) {

      
      
        542
      
                   config.auth = argv[i+
      
        1
      
      
        ];

      
      
        543
      
                   i++
      
        ;

      
      
        544
      
               } 
      
        else
      
      
        if
      
       (!strcmp(argv[i],
      
        "
      
      
        --raw
      
      
        "
      
      
        )) {

      
      
        545
      
                   config.raw_output = 
      
        1
      
      
        ;

      
      
        546
      
               } 
      
        else
      
      
        if
      
       (!strcmp(argv[i],
      
        "
      
      
        --latency
      
      
        "
      
      
        )) {

      
      
        547
      
                   config.latency_mode = 
      
        1
      
      
        ;

      
      
        548
      
               } 
      
        else
      
      
        if
      
       (!strcmp(argv[i],
      
        "
      
      
        -d
      
      
        "
      
      ) && !
      
        lastarg) {

      
      
        549
      
      
                    sdsfree(config.mb_delim);

      
      
        550
      
                   config.mb_delim = sdsnew(argv[i+
      
        1
      
      
        ]);

      
      
        551
      
                   i++
      
        ;

      
      
        552
      
               } 
      
        else
      
      
        if
      
       (!strcmp(argv[i],
      
        "
      
      
        -v
      
      
        "
      
      ) || !strcmp(argv[i], 
      
        "
      
      
        --version
      
      
        "
      
      
        )) {

      
      
        553
      
                   sds version =
      
         cliVersion();

      
      
        554
      
                   printf(
      
        "
      
      
        redis-cli %s\n
      
      
        "
      
      
        , version);

      
      
        555
      
      
                    sdsfree(version);

      
      
        556
      
                   exit(
      
        0
      
      
        );

      
      
        557
      
               } 
      
        else
      
      
         {

      
      
        558
      
      
        break
      
      
        ;

      
      
        559
      
      
                }

      
      
        560
      
      
            }

      
      
        561
      
      
        return
      
      
         i;

      
      
        562
      
      
        }

      
      
        563
      
      
        564
      
      
        static
      
       sds readArgFromStdin(
      
        void
      
      
        ) {

      
      
        565
      
      
        char
      
       buf[
      
        1024
      
      
        ];

      
      
        566
      
           sds arg =
      
         sdsempty();

      
      
        567
      
      
        568
      
      
        while
      
      (
      
        1
      
      
        ) {

      
      
        569
      
      
        int
      
       nread = read(fileno(stdin),buf,
      
        1024
      
      
        );

      
      
        570
      
      
        571
      
      
        if
      
       (nread == 
      
        0
      
      ) 
      
        break
      
      
        ;

      
      
        572
      
      
        else
      
      
        if
      
       (nread == -
      
        1
      
      
        ) {

      
      
        573
      
                   perror(
      
        "
      
      
        Reading from standard input
      
      
        "
      
      
        );

      
      
        574
      
                   exit(
      
        1
      
      
        );

      
      
        575
      
      
                }

      
      
        576
      
               arg =
      
         sdscatlen(arg,buf,nread);

      
      
        577
      
      
            }

      
      
        578
      
      
        return
      
      
         arg;

      
      
        579
      
      
        }

      
      
        580
      
      
        581
      
      
        static
      
      
        void
      
      
         usage() {

      
      
        582
      
           sds version =
      
         cliVersion();

      
      
        583
      
      
            fprintf(stderr,

      
      
        584
      
      
        "
      
      
        redis-cli %s\n
      
      
        "
      
      
        585
      
      
        "
      
      
        \n
      
      
        "
      
      
        586
      
      
        "
      
      
        Usage: redis-cli [OPTIONS] [cmd [arg [arg ...]]]\n
      
      
        "
      
      
        587
      
      
        "
      
      
          -h <hostname>    Server hostname (default: 127.0.0.1)\n
      
      
        "
      
      
        588
      
      
        "
      
      
          -p <port>        Server port (default: 6379)\n
      
      
        "
      
      
        589
      
      
        "
      
      
          -s <socket>      Server socket (overrides hostname and port)\n
      
      
        "
      
      
        590
      
      
        "
      
      
          -a <password>    Password to use when connecting to the server\n
      
      
        "
      
      
        591
      
      
        "
      
      
          -r <repeat>      Execute specified command N times\n
      
      
        "
      
      
        592
      
      
        "
      
      
          -i <interval>    When -r is used, waits <interval> seconds per command.\n
      
      
        "
      
      
        593
      
      
        "
      
      
                           It is possible to specify sub-second times like -i 0.1.\n
      
      
        "
      
      
        594
      
      
        "
      
      
          -n <db>          Database number\n
      
      
        "
      
      
        595
      
      
        "
      
      
          -x               Read last argument from STDIN\n
      
      
        "
      
      
        596
      
      
        "
      
      
          -d <delimiter>   Multi-bulk delimiter in for raw formatting (default: \\n)\n
      
      
        "
      
      
        597
      
      
        "
      
      
          --raw            Use raw formatting for replies (default when STDOUT is not a tty)\n
      
      
        "
      
      
        598
      
      
        "
      
      
          --latency        Enter a special mode continuously sampling latency.\n
      
      
        "
      
      
        599
      
      
        "
      
      
          --help           Output this help and exit\n
      
      
        "
      
      
        600
      
      
        "
      
      
          --version        Output version and exit\n
      
      
        "
      
      
        601
      
      
        "
      
      
        \n
      
      
        "
      
      
        602
      
      
        "
      
      
        Examples:\n
      
      
        "
      
      
        603
      
      
        "
      
      
          cat /etc/passwd | redis-cli -x set mypasswd\n
      
      
        "
      
      
        604
      
      
        "
      
      
          redis-cli get mypasswd\n
      
      
        "
      
      
        605
      
      
        "
      
      
          redis-cli -r 100 lpush mylist x\n
      
      
        "
      
      
        606
      
      
        "
      
      
          redis-cli -r 100 -i 1 info | grep used_memory_human:\n
      
      
        "
      
      
        607
      
      
        "
      
      
        \n
      
      
        "
      
      
        608
      
      
        "
      
      
        When no command is given, redis-cli starts in interactive mode.\n
      
      
        "
      
      
        609
      
      
        "
      
      
        Type \"help\" in interactive mode for information on available commands.\n
      
      
        "
      
      
        610
      
      
        "
      
      
        \n
      
      
        "
      
      
        ,

      
      
        611
      
      
                version);

      
      
        612
      
      
            sdsfree(version);

      
      
        613
      
           exit(
      
        1
      
      
        );

      
      
        614
      
      
        }

      
      
        615
      
      
        616
      
      
        /*
      
      
         Turn the plain C strings into Sds strings 
      
      
        */
      
      
        617
      
      
        static
      
      
        char
      
       **convertToSds(
      
        int
      
       count, 
      
        char
      
      **
      
         args) {

      
      
        618
      
      
        int
      
      
         j;

      
      
        619
      
      
        char
      
       **sds = zmalloc(
      
        sizeof
      
      (
      
        char
      
      *)*
      
        count);

      
      
        620
      
      
        621
      
      
        for
      
      (j = 
      
        0
      
      ; j < count; j++
      
        )

      
      
        622
      
           sds[j] =
      
         sdsnew(args[j]);

      
      
        623
      
      
        624
      
      
        return
      
      
         sds;

      
      
        625
      
      
        }

      
      
        626
      
      
        627
      
      
        #define
      
       LINE_BUFLEN 4096

      
        628
      
      
        static
      
      
        void
      
      
         repl() {

      
      
        629
      
           sds historyfile =
      
         NULL;

      
      
        630
      
      
        int
      
       history = 
      
        0
      
      
        ;

      
      
        631
      
      
        char
      
       *
      
        line;

      
      
        632
      
      
        int
      
      
         argc;

      
      
        633
      
           sds *
      
        argv;

      
      
        634
      
      
        635
      
           config.interactive = 
      
        1
      
      
        ;

      
      
        636
      
      
            linenoiseSetCompletionCallback(completionCallback);

      
      
        637
      
      
        638
      
      
        /*
      
      
         Only use history when stdin is a tty. 
      
      
        */
      
      
        639
      
      
        if
      
      
         (isatty(fileno(stdin))) {

      
      
        640
      
               history = 
      
        1
      
      
        ;

      
      
        641
      
      
        642
      
      
        if
      
       (getenv(
      
        "
      
      
        HOME
      
      
        "
      
      ) !=
      
         NULL) {

      
      
        643
      
                   historyfile = sdscatprintf(sdsempty(),
      
        "
      
      
        %s/.rediscli_history
      
      
        "
      
      ,getenv(
      
        "
      
      
        HOME
      
      
        "
      
      
        ));

      
      
        644
      
      
                    linenoiseHistoryLoad(historyfile);

      
      
        645
      
      
                }

      
      
        646
      
      
            }

      
      
        647
      
      
        648
      
      
            cliRefreshPrompt();

      
      
        649
      
      
        while
      
      ((line = linenoise(context ? config.prompt : 
      
        "
      
      
        not connected> 
      
      
        "
      
      )) !=
      
         NULL) {

      
      
        650
      
      
        if
      
       (line[
      
        0
      
      ] != 
      
        '
      
      
        \0
      
      
        '
      
      
        ) {

      
      
        651
      
                   argv = sdssplitargs(line,&
      
        argc);

      
      
        652
      
      
        if
      
      
         (history) linenoiseHistoryAdd(line);

      
      
        653
      
      
        if
      
      
         (historyfile) linenoiseHistorySave(historyfile);

      
      
        654
      
      
        655
      
      
        if
      
       (argv ==
      
         NULL) {

      
      
        656
      
                       printf(
      
        "
      
      
        Invalid argument(s)\n
      
      
        "
      
      
        );

      
      
        657
      
      
                        free(line);

      
      
        658
      
      
        continue
      
      
        ;

      
      
        659
      
                   } 
      
        else
      
      
        if
      
       (argc > 
      
        0
      
      
        ) {

      
      
        660
      
      
        if
      
       (strcasecmp(argv[
      
        0
      
      ],
      
        "
      
      
        quit
      
      
        "
      
      ) == 
      
        0
      
       ||

      
        661
      
                           strcasecmp(argv[
      
        0
      
      ],
      
        "
      
      
        exit
      
      
        "
      
      ) == 
      
        0
      
      
        )

      
      
        662
      
      
                        {

      
      
        663
      
                           exit(
      
        0
      
      
        );

      
      
        664
      
                       } 
      
        else
      
      
        if
      
       (argc == 
      
        3
      
       && !strcasecmp(argv[
      
        0
      
      ],
      
        "
      
      
        connect
      
      
        "
      
      
        )) {

      
      
        665
      
      
                            sdsfree(config.hostip);

      
      
        666
      
                           config.hostip = sdsnew(argv[
      
        1
      
      
        ]);

      
      
        667
      
                           config.hostport = atoi(argv[
      
        2
      
      
        ]);

      
      
        668
      
                           cliConnect(
      
        1
      
      
        );

      
      
        669
      
                       } 
      
        else
      
      
        if
      
       (argc == 
      
        1
      
       && !strcasecmp(argv[
      
        0
      
      ],
      
        "
      
      
        clear
      
      
        "
      
      
        )) {

      
      
        670
      
      
                            linenoiseClearScreen();

      
      
        671
      
                       } 
      
        else
      
      
         {

      
      
        672
      
      
        long
      
      
        long
      
       start_time =
      
         mstime(), elapsed;

      
      
        673
      
      
        int
      
       repeat, skipargs = 
      
        0
      
      
        ;

      
      
        674
      
      
        675
      
                           repeat = atoi(argv[
      
        0
      
      
        ]);

      
      
        676
      
      
        if
      
       (argc > 
      
        1
      
       &&
      
         repeat) {

      
      
        677
      
                               skipargs = 
      
        1
      
      
        ;

      
      
        678
      
                           } 
      
        else
      
      
         {

      
      
        679
      
                               repeat = 
      
        1
      
      
        ;

      
      
        680
      
      
                            }

      
      
        681
      
      
        682
      
      
        if
      
       (cliSendCommand(argc-skipargs,argv+
      
        skipargs,repeat)

      
      
        683
      
                               !=
      
         REDIS_OK)

      
      
        684
      
      
                            {

      
      
        685
      
                               cliConnect(
      
        1
      
      
        );

      
      
        686
      
      
        687
      
      
        /*
      
      
         If we still cannot send the command print error.

      
      
        688
      
      
                                 * We'll try to reconnect the next time. 
      
      
        */
      
      
        689
      
      
        if
      
       (cliSendCommand(argc-skipargs,argv+
      
        skipargs,repeat)

      
      
        690
      
                                   !=
      
         REDIS_OK)

      
      
        691
      
      
                                    cliPrintContextError();

      
      
        692
      
      
                            }

      
      
        693
      
                           elapsed = mstime()-
      
        start_time;

      
      
        694
      
      
        if
      
       (elapsed >= 
      
        500
      
      
        ) {

      
      
        695
      
                               printf(
      
        "
      
      
        (%.2fs)\n
      
      
        "
      
      ,(
      
        double
      
      )elapsed/
      
        1000
      
      
        );

      
      
        696
      
      
                            }

      
      
        697
      
      
                        }

      
      
        698
      
      
                    }

      
      
        699
      
      
        /*
      
      
         Free the argument vector 
      
      
        */
      
      
        700
      
      
        while
      
      (argc--
      
        ) sdsfree(argv[argc]);

      
      
        701
      
      
                    zfree(argv);

      
      
        702
      
      
                }

      
      
        703
      
      
        /*
      
      
         linenoise() returns malloc-ed lines like readline() 
      
      
        */
      
      
        704
      
      
                free(line);

      
      
        705
      
      
            }

      
      
        706
      
           exit(
      
        0
      
      
        );

      
      
        707
      
      
        }

      
      
        708
      
      
        709
      
      
        static
      
      
        int
      
       noninteractive(
      
        int
      
       argc, 
      
        char
      
       **
      
        argv) {

      
      
        710
      
      
        int
      
       retval = 
      
        0
      
      
        ;

      
      
        711
      
      
        if
      
      
         (config.stdinarg) {

      
      
        712
      
               argv = zrealloc(argv, (argc+
      
        1
      
      )*
      
        sizeof
      
      (
      
        char
      
      *
      
        ));

      
      
        713
      
               argv[argc] =
      
         readArgFromStdin();

      
      
        714
      
               retval = cliSendCommand(argc+
      
        1
      
      
        , argv, config.repeat);

      
      
        715
      
           } 
      
        else
      
      
         {

      
      
        716
      
      
        /*
      
      
         stdin is probably a tty, can be tested with S_ISCHR(s.st_mode) 
      
      
        */
      
      
        717
      
               retval =
      
         cliSendCommand(argc, argv, config.repeat);

      
      
        718
      
      
            }

      
      
        719
      
      
        return
      
      
         retval;

      
      
        720
      
      
        }

      
      
        721
      
      
        722
      
      
        static
      
      
        void
      
       latencyMode(
      
        void
      
      
        ) {

      
      
        723
      
           redisReply *
      
        reply;

      
      
        724
      
      
        long
      
      
        long
      
       start, latency, min, max, tot, count = 
      
        0
      
      
        ;

      
      
        725
      
      
        double
      
      
         avg;

      
      
        726
      
      
        727
      
      
        if
      
       (!context) exit(
      
        1
      
      
        );

      
      
        728
      
      
        while
      
      (
      
        1
      
      
        ) {

      
      
        729
      
               start =
      
         mstime();

      
      
        730
      
               reply = redisCommand(context,
      
        "
      
      
        PING
      
      
        "
      
      
        );

      
      
        731
      
      
        if
      
       (reply ==
      
         NULL) {

      
      
        732
      
                   fprintf(stderr,
      
        "
      
      
        \nI/O error\n
      
      
        "
      
      
        );

      
      
        733
      
                   exit(
      
        1
      
      
        );

      
      
        734
      
      
                }

      
      
        735
      
               latency = mstime()-
      
        start;

      
      
        736
      
      
                freeReplyObject(reply);

      
      
        737
      
               count++
      
        ;

      
      
        738
      
      
        if
      
       (count == 
      
        1
      
      
        ) {

      
      
        739
      
                   min = max = tot =
      
         latency;

      
      
        740
      
                   avg = (
      
        double
      
      
        ) latency;

      
      
        741
      
               } 
      
        else
      
      
         {

      
      
        742
      
      
        if
      
       (latency < min) min =
      
         latency;

      
      
        743
      
      
        if
      
       (latency > max) max =
      
         latency;

      
      
        744
      
                   tot +=
      
         latency;

      
      
        745
      
                   avg = (
      
        double
      
      ) tot/
      
        count;

      
      
        746
      
      
                }

      
      
        747
      
               printf(
      
        "
      
      
        \x1b[0G\x1b[2Kmin: %lld, max: %lld, avg: %.2f (%lld samples)
      
      
        "
      
      
        ,

      
      
        748
      
      
                    min, max, avg, count);

      
      
        749
      
      
                fflush(stdout);

      
      
        750
      
               usleep(
      
        10000
      
      
        );

      
      
        751
      
      
            }

      
      
        752
      
      
        }

      
      
        753
      
      
        754
      
      
        int
      
       main(
      
        int
      
       argc, 
      
        char
      
       **
      
        argv) {

      
      
        755
      
      
        int
      
      
         firstarg;

      
      
        756
      
      
        757
      
           config.hostip = sdsnew(
      
        "
      
      
        127.0.0.1
      
      
        "
      
      
        );

      
      
        758
      
           config.hostport = 
      
        6379
      
      
        ;

      
      
        759
      
           config.hostsocket =
      
         NULL;

      
      
        760
      
           config.repeat = 
      
        1
      
      
        ;

      
      
        761
      
           config.interval = 
      
        0
      
      
        ;

      
      
        762
      
           config.dbnum = 
      
        0
      
      
        ;

      
      
        763
      
           config.interactive = 
      
        0
      
      
        ;

      
      
        764
      
           config.shutdown = 
      
        0
      
      
        ;

      
      
        765
      
           config.monitor_mode = 
      
        0
      
      
        ;

      
      
        766
      
           config.pubsub_mode = 
      
        0
      
      
        ;

      
      
        767
      
           config.latency_mode = 
      
        0
      
      
        ;

      
      
        768
      
           config.stdinarg = 
      
        0
      
      
        ;

      
      
        769
      
           config.auth =
      
         NULL;

      
      
        770
      
           config.raw_output = !isatty(fileno(stdout)) && (getenv(
      
        "
      
      
        FAKETTY
      
      
        "
      
      ) ==
      
         NULL);

      
      
        771
      
           config.mb_delim = sdsnew(
      
        "
      
      
        \n
      
      
        "
      
      
        );

      
      
        772
      
      
            cliInitHelp();

      
      
        773
      
      
        774
      
           firstarg =
      
         parseOptions(argc,argv);

      
      
        775
      
           argc -=
      
         firstarg;

      
      
        776
      
           argv +=
      
         firstarg;

      
      
        777
      
      
        778
      
      
        /*
      
      
         Start in latency mode if appropriate 
      
      
        */
      
      
        779
      
      
        if
      
      
         (config.latency_mode) {

      
      
        780
      
               cliConnect(
      
        0
      
      
        );

      
      
        781
      
      
                latencyMode();

      
      
        782
      
      
            }

      
      
        783
      
      
        784
      
      
        /*
      
      
         Start interactive mode when no command is provided 
      
      
        */
      
      
        785
      
      
        if
      
       (argc == 
      
        0
      
      
        ) {

      
      
        786
      
      
        /*
      
      
         Note that in repl mode we don't abort on connection error.

      
      
        787
      
      
                 * A new attempt will be performed for every command send. 
      
      
        */
      
      
        788
      
               cliConnect(
      
        0
      
      
        );

      
      
        789
      
      
                repl();

      
      
        790
      
      
            }

      
      
        791
      
      
        792
      
      
        /*
      
      
         Otherwise, we have some arguments to execute 
      
      
        */
      
      
        793
      
      
        if
      
       (cliConnect(
      
        0
      
      ) != REDIS_OK) exit(
      
        1
      
      
        );

      
      
        794
      
      
        return
      
      
         noninteractive(argc,convertToSds(argc,argv));

      
      
        795
      
       }
    

redis源碼筆記 - redis-cli.c


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 波多野结衣亚洲一区二区 | 狠色狠狠色狠狠狠色综合久久 | 50路60路老熟妇啪啪 | 88xx成人永久免费观看 | 性做久久 | 午夜男人的天堂 | 日本一二三不卡 | 伊人成年网| 国产一区黄 | 免费av手机在线观看 | 无码国产精品一区二区免费vr | 成人免费毛片视频 | 蜜臀久久99静品久久久久久 | 国产精品久久久久久久裸模 | 中国av在线播放 | 日韩午夜在线观看 | 91精品国产91久久久久久久久 | 精品国产91洋老外米糕 | 五十路熟妇高熟无码视频 | 牛牛免费在线视频 | 亚洲精品成人久久av | 国产精品91在线 | 丝袜+亚洲+另类+欧美+变态 | 青青草原在线视频 | 明星性猛交ⅹxxx乱大交 | 亚洲的vs日本的vs韩国 | 黄色永久视频 | 91免费在线播放 | 国产综合亚洲区在线观看 | 欧美不卡一二三区 | 精品无码一区二区三区亚洲桃色 | 天堂√最新版中文在线地址 | 日韩一区高清 | 国产免费又色又爽又黄女性同恋 | 亚洲视屏在线 | 丝袜a∨在线一区二区三区不卡 | 久久www色情成人免费 | 亚洲国产在一区二区三区 | 又深又粗又爽又猛的视频 | 亚洲精品无码成人a片在线软件 | 在线观看亚洲网站 | 成人四虎影院 | 免费人成视频在线视频网站 | 色综合色综合网色综合 | 国产第一区二区 | 奶水喷溅 在线播放 | 精品国产免费第一区二区三区 | 另类国产ts人妖高潮系列视频 | 免费看黄色片. | 自拍偷亚洲产在线观看 | 男人j进入女人j的视频免费的 | 亚洲熟女乱色综合一区 | 人人爽人人模人人人爽人人爱 | av天堂亚洲区无码先锋影音 | 久99久热只有精品国产女同 | 黄色激情网站在线观看 | 免费黄色一区二区 | 一区二区三区视频免费看 | 中国国产黄色片 | 国产成人免费永久在线平台 | 欧美日韩免费网站 | 伊人久久大香线蕉午夜av | 日本成aⅴ人片日本伦 | 性欧美乱束缚xxxx白浆 | 制服丝袜美腿一区二区 | 在线亚洲精品国产一区麻豆 | 亚洲精品一二区 | 色婷婷一区二区三区四区 | 日本人妻巨大乳挤奶水 | 成人免费毛片嘿嘿连载视频 | 欧美日韩国产成人在线观看 | 午夜精品一区二区三区av | 亚洲人成在线观看网站无码 | www亚洲www | 五月丁香六月综合缴清无码 | 久久的爱久久久久的快乐 | 免费国产午夜视频在线 | 碰碰97| 在线播放国产不卡免费视频 | 农村少妇野战xxx视频 | 成人黄色一级 | 热re99久久精品国产66热 | 精品国产一区二区三区京东影业 | 亚洲精品一区二区不卡 | 欧美第一黄网免费网站 | 成年人24小时无限看 | 亚洲高清专区日韩精品 | 精品国产成人网站一区在线 | 亚洲成a人v影院色老汉影院 | 国产精品视频一区国模私拍 | 欧美第一视频 | 国产中文字幕在线观看 | 亚洲嫩草影院 | 人人做人人爱夜夜爽少妇 | 嫩草www| 天堂网www. | 日本久久中文字幕 | 亚洲综合伊人久久综合 | 日中文字幕 | 伊人日日夜夜 | 色婷婷小说 | 国产粗话肉麻对白在线播放 | 又黄又爽又色又刺激的视频 | 97久久久久人妻精品专区 | 99久久精品国产波多野结衣 | 久久嫩草精品久久久精品才艺表演 | 日韩高清在线 | 精品国产免费一区二区三区香蕉 | 国产啊~cao死你个小sao货 | 一边摸一边抽搐一进一出口述 | 亚洲精品高清视频 | 无码人妻精品一区二 | 精品蜜桃av | 精品国产一区二区三区四区四 | 视频二区在线观看 | 韩国精品视频一区二区在线播放 | 狠狠综合久久久久综合网址 | 美美女毛片 | 亚洲黄av| 欧美激情日韩精品久久久 | 丝袜美腿亚洲综合 | 竹内纱里奈69av在线 | 国产婷婷丁香五月缴情成人网 | 插逼毛片 | 中国少妇内射xxxhd | 日韩免费高清大片在线 | 亚洲精品天堂在线观看 | 成年网站在线 | 熟女肥臀白浆大屁股一区二区 | 免费观看又色又爽又湿的视频 | 色婷婷国产精品综合在线观看 | 色综合天天综合网中文 | 91av国产视频 | 亚洲线精品一区二区三区八戒 | 免费午夜激情 | 亚洲成a人在线看天堂无码 黑人粗大猛烈进出高潮视频 | 91九色偷拍 | 久久精品囯产精品亚洲 | 午夜大片网 | 啪视频网站 | 久久天堂av综合合色 | 亚洲多毛妓女毛茸茸的 | 亚洲伊人成综合人影院青青青 | 免费无码毛片一区二区三区a片 | 2019午夜福利不卡片在线 | 欧美色欧美亚洲国产熟妇 | 少妇爱做高清免费视频 | 国产老头和老头xxxxx免费 | 国产亚洲综合区成人国产系列 | 高级会所人妻互换94部分 | 91看片在线看 | 噜噜噜久久亚洲精品国产品91 | 国产高欧美性情一线在线 | 亚洲精品一二三区久久伦理中文 | 亚洲爱| 国产精品入口传媒小说 | 免费久久久久久 | 色噜噜狠狠一区二区三区果冻 | 国产精品久久久久久久久鸭 | 天堂а在线中文在线新版 | 色与欲影视天天看综合网 | 久久精品第九区免费观看 | 亚洲色自偷自拍另类小说 | 国产精一区| 欧美jizzhd精品欧美巨大 | 亚洲激情黄色小说 | 欧美熟妇的性裸交 | 国产乱码精品一区二三区蜜臂 | 天天操天天爽天天干 | 亚洲丰满少妇xxxxx高潮对白 | 欧美激情在线狂野欧美精品 | 44444kk在线观看三免费 | 国产农村妇女三级全黄91 | 成熟少妇一区二区三区 | 欧美中文字幕无线码视频 | 亚洲国产精品日韩av不卡在线 | 午夜影视啪啪免费体验区入口 | 亚洲精品精华液一区二区 | 精品人妻无码专区在线无广告视频 | 亚洲中文字幕无码久久2018 | 嘿咻嘿咻高潮免费观看网站 | 福利网址在线 | 18禁黄网站禁片免费观看 | 狠狠躁天天躁中文字幕无码 | 国产精品污www在线观看17c | 国产又a又黄又潮娇喘视频 精品伊人久久 | 综合第一页 | 熟女人妇 成熟妇女系列视频 | 黄色在线免费观看网站 | 亚洲成人一二区 | 91大神视频在线免费观看 | 亚洲成熟老女毛茸茸 | 50岁熟妇大白屁股真爽 | 女女互摸互喷水高潮les呻吟 | 国产精品爽爽va在线观看网站 | 在线亚欧观看2023 | 理论片午夜 | 日本中文字幕高清 | 免费人妻av无码专区 | 亚洲人成影院在线无码按摩店 | 999在线视频精品免费播放观看 | 日本黄页网站免费观看 | 亚洲国产日韩一区 | 午夜乱蜜桃久久久乱 | 国内精品自在自线 | 免费无码又爽又刺激网站 | 久久成人人人人精品欧 | 国产乱了真实在线观看 | 日韩国产一区二区三区 | 免费看无码特级毛片 | 久久国产精品萌白酱免费 | 欧美性久久 | 亚洲男人的天堂在线视频 | 日韩aaa久久蜜桃av | 成人av一区二区亚洲精 | 日本亚洲欧美在线视观看 | 欧美成人三区 | 亚洲网站在线免费观看 | 色噜噜一区 | 中国少妇大p毛茸茸 | 涩涩网站在线看 | 少妇无码太爽了在线播放 | 91免费网站入口 | 白丝爆浆18禁一区二区三区 | 男人舔女人下面高潮视频 | 久久性色欲av免费精品观看 | 日日插日日操 | 欧美成人亚洲高清在线观看 | 国产大屁股视频免费区 | 久久99这里只有精品 | 色老头一区 | 国产一区二区播放 | 精品无码av人在线观看 | 国产精品19乱码一区二区三区 | 四虎国产精品永久地址49 | 免费无码又爽又刺激高潮 | 日韩av高清 | 久久合 | 欧美熟妇的性裸交 | 婷婷网色偷偷久久久99超碰 | 人人插插 | 欧美成人免费一级 | 一色屋精品视频在线观看免费 | 日本少妇免费视频一三区 | 免费无码又爽又刺激高潮的动态图 | 国产亚洲黑人性受xxxx精品 | 无码免费婬av片在线观看 | 亚洲xx站| 大胸喷奶水的www的视频网站 | 欧美一级黄色录像片 | 玖玖爱视频在线 | 少妇的丰满人妻hd高清 | 国产精品亚洲w码日韩中文 久久ww精品w免费人成 | 国产91对白在线播 | av第下页| 黄色小视频免费网站 | 日韩h在线| 天天操夜夜躁 | 成在线人免费视频 | 日韩在线一二 | 在线亚洲欧美日韩精品专区 | 任我撸在线视频 | 精品少妇一区二区三区视频 | 女人被狂躁c到高潮视频 | 国产高清在线精品一区 | a色视频 | 又色又爽又黄的视频女女 | 粉嫩av国产一区二区三区 | 国产美女裸体丝袜喷水视频 | 日韩美女黄色片 | 精品va久久久噜噜久久软件 | 在线播放免费人成动漫视频 | 另类综合网 | 国内精品福利视频 | 欧美日韩一线 | 欧美肉欲k8播放毛片欧美 | 亚洲精品久久片久久久久 | 中文字幕亚洲码在线 | 野花香社区在线视频观看播放 | 亚洲日本黄色片 | 欧美一级网 | 久久精品国产亚洲无删除 | 亚洲情a成黄在线观看 | 综合欧美亚洲日本一区 | 国产最大成人亚洲精品 | youjizz4| 中文字幕精品亚洲无线码一区应用 | 久久久精品国产99久久精品芒果 | 国产精品久久久影院 | 一区二区视频观看 | 狠狠干成人网 | 国产午夜亚洲精品午夜鲁丝片 | 国产精品太长太粗太大视频 | 91久娇草| 欧美精品性生活 | 夜夜躁狠狠躁夜躁2021鲁大师 | 色噜噜狠狠一区二区三区果冻 | 国产精品无码一本二本三本色 | 国产成人尤物在线视频 | 亚洲精选网站 | 黄色毛片基地 | 久草在线资源网 | 中文字幕在线观看视频网站 | 嫖妓大龄熟妇正在播放 | 黑人与日本少妇高潮 | 免费无码观看的av在线播放 | 无码成人精品区在线观看 | 国产成人国产在线观看 | 又大又黄又爽视频一区二区 | 乱淫a欧美裸体超级xxxⅹ | 亚洲国产日韩精品一区二区三区 | 天天干天天干天天干天天干天天干天天干 | 97精品国产97久久久久久粉红 | 内射毛片内射国产夫妻 | 黄色欧美网站 | 宅男噜噜66国产精品观看 | 国产精品人人妻人人爽 | 国产三级aaa | 成人中文字幕视频 | 国内自拍视频在线观看 | 中国一级a毛片 | 欧美日韩在手机线旡码可下载 | av无码中出一区二区三区 | 激情综合网五月婷婷 | 国产精品嫩草影院88av | 亚洲视频一二 | 色婷婷久久综合中文久久一本 | 在线免费观看a视频 | 成人在线视频一区 | 亚洲一区二区三区av天堂 | 日本一区二区三区精品福利视频 | 成人无码精品免费视频在线观看 | 久久精品伊人久久精品伊人 | 欧美成人dvd在线视频 | 人人妻人人澡人人爽精品欧美 | 一本到无码av专区无码不卡 | 久久人妻夜夜做天天爽 | 久久久国产打桩机 | 中文字幕在线看片 | 手机看片1024国产 | 中国丰满少妇人妻xxx性董鑫洁 | 亚洲日韩欧洲无码av夜夜摸 | 日韩,中文字幕 | 无遮挡色视频免费观看 | 亚洲美女撒尿毛茸茸 | 国产精品最新网址 | 日本久久网站 | 5d肉蒲团之性战奶水 | 国产亚洲精品久久久久5区 49vv国产淫片aaaaaaa | 伊人久久久久久久久 | 中文字幕亚洲区 | 无遮挡边摸边吃奶边做视频 | 国产综合亚洲区在线观看 | 在线观看午夜福利院视频 | 天天躁天天弄天天爱 | 欧美一及片 | 夜色约爱网站 | 男女下面一进一出好爽视频 | 少妇性bbb搡bbb爽爽爽 | 99成人在线观看 | 亚洲欧洲国产码专区在线观看 | 我想看毛片 | 日韩精品在线免费观看视频 | 中文在线а√在线天堂中文 | 日韩欧美在线第一页 | 国产亚洲精品久久久久久 | 欧美乱大交做爰xxxⅹ性黑人 | 亚洲激色 | 黑人巨大精品欧美一区二区 | 中文字幕视频一区二区 | 国产一级特黄aa大片 | 无码中文字幕免费一区二区三区 | 精品国产乱码久久久久久蜜柚 | 亚洲国产欧洲综合997久久, | 国产91精品高潮白浆喷水 | 国精品99久9在线 | 免费 | 亚洲精品无码久久久久y | 亚洲逼 | 性欧美肥臀大腚bbwhd | 国产一区亚洲二区三区 | av在线不卡播放 | 欧美、另类亚洲日本一区二区 | 暖暖视频在线观看免费观看高清中文 | 亚洲а∨无码2019在线观看 | 欧美一性一交一乱 | 韩日精品在线 | 欧美日本不卡 | 亚洲色图国产精品 | 亚洲日韩一区二区三区 | 国内女人喷潮完整视频 | 精品国产三级a在线观看 | 毛片在线看片 | 亚洲熟妇av乱码在线观看 | 视频一区二区三区视频 | 九色av网站 | 亚洲色欧美在线影院 | 亚洲图片欧美日韩 | 亚洲成人网在线观看 | 无码人妻一区二区三区在线 | 不卡的av中文字幕 | 精品国产一区二区三区蜜殿 | 亚洲视频日韩视欧美视频 | 99精品国产免费观看视频 | 国产成人一区二区不卡免费视频 | 日本道中文字幕 | 久久精品这里只有精品 | 亚洲一区天堂九一 | 欧美日韩一级在线观看 | 强被迫伦姧在线观看无码 | 国产浮力第一页草草影院 | 在线免费观看黄色av | 久久亚洲国产精品五月天婷 | 7m视频成人精品分类 | 任我爽橹在线视频精品583 | 无码专区视频精品老司机 | 十八禁在线观看视频播放免费 | 成人自慰女黄网站免费大全 | 国产又粗又猛又黄又爽无遮挡 | 日韩人妻少妇一区二区三区 | 国产在线不卡一区 | 亚洲日本va午夜蜜芽在线电影 | 欧美和黑人xxxx猛交视频 | 成人h无码动漫超w网站 | 北条麻妃人妻av在线专区 | 国产97自拍 | 大陆av在线| 亚洲熟女少妇一区二区 | 亚洲精品一品区二品区三区 | 日韩av综合 | 午夜理论在线观看不卡大地影院 | 国产白浆一区二区 | 亚洲精品在线看 | 亚洲啪 | 无遮挡h肉视频在线观看免费资源 | 天天射天天干天天操 | 亚洲春色第一页 | 在线免费的网站入口 | 黄 色 成 年 人免费观看 | 新婚人妻不戴套国产精品 | 日韩av无码一区二区三区不卡 | 国产激情视频在线 | 成人精品久久久 | 黄色成人免费观看 | 狠狠色狠狠色综合日日小说 | 黄色av导航 | 欧美大片c片免费看视频 | 青青青青青手机视频在线观看视频 | 国产毛片一区二区三区软件 | 一级一毛片 | 久久亚洲日韩av一区二区三区 | 国产大片黄在线观看 | 亚洲无线码高清在线观看 | 黑人太粗太深了太硬受不了了 | www.猫咪av.com | 国产成人av在线播放影院 | 国产麻豆精品福利在线 | 久久国产精品波多野结衣 | 91深夜视频 | 欧美一区2区三区4区贰佰公司 | 久久超碰97人人做人人爱 | 丁香啪啪综合成人亚洲小说 | 99国产午夜精品一区二区天美 | 二区三区四区视频 | 国产成人午夜无码电影在线观看 | 欧美视频免费在线观看 | 国产乱淫a∨片免费视频牛牛 | 夜夜摸视频网 | 精品中文在线 | 爱做久久久久久 | 小sao货水好多真紧h视频 | 91高清视频免费观看 | 日韩第2页 | 尤物国产在线 | 亚洲第一av无码专区 | 手机av不卡 | 日本成人在线一区 | 91精品国产调教打屁股 | 国产偷录视频叫床高潮 | 伊人网91 | 亚洲欧美乱综合图片区小说区 | 国产精品h | 欧美亚洲国产精品久久高清浪潮 | 黄色性大片| 老少配性视频免费xxx | 国产日韩三级 | 亚洲第一福利网站在线 | 欧美va亚洲| 18禁美女裸体无遮挡免费观看国产 | 69国产精品| 黄色av视屏 | 97视频人人| 国产亚洲精品久久久ai换 | 国产亚洲精品电影网站在线观看 | 中文字幕乱偷无码av先锋 | 四虎天堂 | 就操网| 日韩午夜在线观看 | 久久久久国精品产熟女久色 | 舌头伸进去搅动好爽视频 | 色综合天天综合高清网国产在线 | 在线亚洲欧美日韩精品专区 | 亚洲精品久久久久久下一站 | 91成人精品一区在线播放 | 久久99精品国产麻豆蜜芽 | 欧美日产国产精品 | 天天搞天天 | 81精品国产乱码久久久久久 | 中文字幕肉感巨大的乳专区 | 亚洲精品久久久打桩机 | 成在线人免费视频 | 欧美小视频在线观看 | 欧美性猛交xxxx乱大交高清 | 欧美一级二级在线观看 | 又黄又爽又色又刺激的视频 | 精品人妻系列无码专区久久 | 国产精品无码一区二区在线观一 | 国产成人久久精品麻豆二区 | 午夜日b视频| 四虎看黄 | 色女人网| 欧美国产一区二区三区激情 | 欧洲亚洲视频 | 青青在线视频免费 | 91九色porn | 曰本女人牲交全视频播放 | 日本免费精品 | 免费一级欧美片在线播放 | 四季久久免费一区二区三区四区 | 亚洲国产精品久久久久秋霞影院 | 久草视频2| 国产成人无码激情视频 | 国产精品高潮露脸在线观看 | 丰满多毛少妇做爰视频爽爽和 | 成人青青草| 三级全黄做爰在线观看 | 手机在线观看日韩av | 午夜免费无码福利视频麻豆 | 少妇又色又紧又爽又刺激视频 | 玖玖在线视频 | 东京热无码人妻一区二区av | 午夜黄色网| 欧美jiizzhd精品欧美 | 天天久久久 | 91精品国产91久久久久久久久 | 深夜福利av| 成人免费视频视频在线观看 免费 | 三级网站视频在在线播放 | 日韩免费无码人妻波多野 | 97狠狠狠狼鲁亚洲综合网 | 亚洲中文字幕无码永久免弗 | 一少妇挑战三个黑人内谢 | 色天使亚洲综合一区二区 | 岛国成人av| 亚洲第一色站 | 欧美国产日韩精品 | 强开小婷嫩苞又嫩又紧视频韩国 | 久久69av| 午夜av在线免费观看 | 欧美日韩不卡高清在线看 | 人妻系列av无码专区 | 色干网 | 97av在线播放 | 中文资源在线观看 | 午夜成年视频 | 国产精品太长太粗太大视频 | 亚洲国产成人久久综合电影 | 日本中文字幕在线免费观看 | 99热精品国产一区二区在线观看 | 免费一级肉体全黄毛片 | 99国产精品白浆在线观看免费 | 亚洲第一视频网 | 又黄又爽的男女配种视频 | 国产精品一区免费在线观看 | 精品一区二区在线看 | 激情欧美一区二区三区免费看 | 精品视频一二三区 | 日产国产亚洲a | 日本午夜无人区毛片私人影院 | 亚洲永久网址在线观看 | 女性向av| 国产精品久久久久一区 | 欧美jizz40性欧美 | a级大胆欧美人体大胆666 | 日产精品卡2卡三卡乱码网址 | 欧美激情免费视频 | 无遮挡国产高潮视频免费观看 | 北条麻妃一区二区三区中文字幕 | 性猛交xxxx乱大交孕妇2 | 欧美一区二区三区四区五区 | 中文区永久区 | 欧洲女人牲交性开放视频 | 精品国产一区二区三区性色av | 日韩中出在线 | 激情深爱五月 | 大荫蒂欧美精品另类 | 国产成人av在线桃花岛 | av天天有 | 777午夜福利理伦电影网 | 亚州av一区 | 99久久国产综合精品女 | 亚洲一区av无码少妇电影玲奈 | wwwxxx色| 国产中文字幕一区二区 | 中文字幕无码日韩专区 | 亚洲911精品成人18网站 | 97日本xxxxxxxxx18| 久久久久99人妻一区二区三区 | 老司机亚洲精品影院 | 日本我不卡 | 蜜臀av国内精品久久久夜夜蜜臀 | 翘臀后进少妇大白嫩屁股 | 超碰人操 | 精品国产乱码久久久久久牛牛 | 1024香蕉| 中文字幕不卡av无码专线一本 | 国产精品va无码免费麻豆 | 正在播放亚洲精品 | 欧美精品99 | 成人午夜福利视频镇东影视 | 99精品欧美一区二区三区视频 | 亚洲欧美精品在线 | 性欧美丰满熟妇xxxx性仙踪林 | 日本无遮羞打屁股网站视频 | 国产精品久久久久久超碰 | 好色视频网 | 欧美丰满大爆乳波霸奶水多 | 国产精品欧美日韩 | 丁香久久久 | 国产一级免费观看 | 国产欧美日韩精品一区 | 久久成人av | 狠狠狼鲁亚洲综合网 | 亚洲午夜久久久精品影院 | 丰满少妇被猛烈进入毛片 | 狂野欧美性猛交xxxxx视频 | 91av视频免费观看 | 成人国产精品一区二区网站公司 | 久久人妻内射无码一区三区 | 2019国产精品视频 | 青草视频在线观看免费 | 伊人久久大香线蕉av不变影院 | 开心激情婷婷 | 精品国产乱码一区二区三区 | 成人免费xxxxx在线视频 | wwww在线观看 | 日韩一区二区三区免费 | 99精品国产福久久久久久 | 韩国av一区二区三区 | 性色欲情网站iwww | 视频一区中文字幕 | 色婷婷一区二区三区免费 | 日本免费大黄在线观看 | 伊人色综合久久天天小片 | 国产精品无码专区在线观看不卡 | 2022色婷婷综合久久久 | 91麻豆欧美成人精品 | 秋霞国产成人精品午夜视频app | 精品久久欧美熟妇www | 免费观看成人www动漫视频 | 免费看欧美成人a片无码 | 中文字幕乱偷无码av先锋 | 又粗又硬又大又爽免费视频播放 | 变态拳头交视频一区二区 | 欧美麻豆久久久久久中文 | 欧美成人一区二区三区在线视频 | 黑人大战日本人妻嗷嗷叫 | 苍井空张开腿实干12次 | 欧美黑粗大 | 日本大肚子孕妇交xxx | 久久大香萑太香蕉av | 出差的交换夫妇中文字幕 | 无码免费一区二区三区免费播放 | 欧美丰满熟妇乱xxxxx视频 | 妓院一钑片免看黄大片 | 自拍偷拍色 | 91探花网站| 欧美老熟妇牲交 | 久久性生活视频 | 搡老岳熟女国产熟妇 | 最新高清中文字幕免费mv | 欧美成人免费全部观看 | 亚洲熟妇av一区二区三区 | 青青成人在线 | 亚洲欧美综合在线天堂 | 黄瓜视频在线观看网址 | 国产精品尤物麻豆一区二区三区 | 国产主播av在线 | 欧美中日韩在线 | 欧美丝袜脚交 | 黄色片久久久久 | 少妇与子乱在线观看 | 国产精品二区一区 | 国产免费视频传媒 | 91久久精品美女高潮 | 欧美日韩无线码在线观看 | 最近中文字幕免费大全在线 | 日韩成人看片 | 日产中文字幕在线观看 | 黑人大荫蒂老太大 | 桃色视频网站 | 综合久| 凹凸在线无码免费视频 | 欧美与黑人午夜性猛交久久久 | 视频二区国产 | 欧美97 | 超薄肉色丝袜一二三 | 中国少妇乱子伦视频播放 | 精品人妻少妇嫩草av无码专区 | 亚洲国产成人精品无码区二本 | 国产福利姬喷水福利在线观看 | 国产片av国语在线观看导航 | 又黄又爽又色成人免费视频体验区 | 伊人久久成人爱综合网 | 高清免费视频日本 | 国内精品福利视频 | 亚洲性综合 | 中文字幕一卡二卡三卡 | 免费看污又色又爽又黄的小说男男 | 国产一区二区在线视频观看 | 国产免费a视频 | 女性自慰网站免费观看w | 中文字幕在线影院 | 在线观看免费无码专区 | 天堂在/线中文在线资源 官网 | 四川老熟女下面又黑又肥 | 丰满少妇被猛烈进入高清播放 | 日韩欧美亚洲一区二区 | 日韩av高清免费 | 一区二区三区精品视频日本 | 蜜桃臀无码内射一区二区三区 | 狠狠色综合7777久夜色撩人ⅰ | 强开小受嫩苞第一次免费视频 | 日本丶国产丶欧美色综合 | 中国china体内裑精亚洲日本 | 无码av永久免费专区麻豆 | 自拍一区在线 | 一级不卡免费视频 | 精品成人无码中文字幕不卡 | 美日韩一级大片 | 欧美精品在线观看视频 | 欧美一区自拍 | 乌克兰粉嫩xxx极品hd | 337p日本欧洲亚洲大胆艺术图 | 宅男噜噜666在线观看 | 黑人尾随强伦姧人妻爽翻天 | 美梦视频大全在线观看 | 超碰在线人人爱 | 中文字幕无码免费不卡视频 | 综合在线亚洲 | 亚洲综合成人专区片 | 亚洲爆乳无码精品aaa片蜜桃 | 刘亦菲国产毛片bd | 精品久久久999 | 51国产视频 | 欧美激情精品久久久久久黑人 | 97久久人人超碰caoprom欧美 | 久久看视频只这 | 99久久精品这里只有精品 | 亚洲国产精品久久久久婷婷图片 | 伊人精品在线 | 日韩久久精品一区二区 | 少妇的肉体k8经典 | 亚洲精品在线免费播放 | 久久综合国产精品 | 国精产品999一区二区三区有限 | 冲田杏梨av一区二区三区 | 无码专区亚洲综合另类 | 亚洲成aⅴ人片久青草影院按摩 | 日韩精品久久一区二区三区 | 99re8这里只有精品 | 欧美日韩一本 | 中字幕视频在线永久在线观看免费 | 91av观看| 美女18禁永久免费观看网站 | 动漫女女吸乳舌吻羞羞 | 亚洲中文字幕无码第一区 | av午夜在线| 天天草比 | 中文字幕第80页 | 四虎精品国产永久在线观看 | 精品亚洲永久免费精品 | 久久综合亚洲色hezyo社区 | 亚洲精品天堂成人片av在线播放 | 国产三级视频在线观看视 | 天天操夜夜操免费视频 | 国产91精品露脸国语对白 | 精品乱码久久久久久久 | 8x8ⅹ在线永久免费入口 | 色av综合网 | 精品国产一区二区三区在线观看 | 日本高清免费视频 | 欧美成人免费全部 | 国产二级毛片 | 狠狠爱五月丁香亚洲综合 | 人妻av中文字幕一区二区三区 | 97国产真实伦对白精彩视频8 | 国产精品久久视频 | 九九久久精品免费观看 | 人人澡人人爽 | 亚洲中文字幕无码卡通动漫野外 | 国内精品视频饥渴少妇在线播放 | 精品国产丝袜自在线拍国语 | 亚洲色图第三页 | 天天操夜 | 国产色片在线观看 | 老少交欧美另类 | 国内精品免费视频自在线拍 | 97国产一区二区三区四区久久 | 国产9 9在线 | 欧洲 | 污片在线播放 | 播放灌醉水嫩大学生国内精品 | 亚洲精品成人网站在线观看 | 亚洲精品国产av成拍色拍 | 91精品国产丝袜白色高跟鞋 分类 | 在线观看视频福利 | 国产s级做人爱c视频大学生 | 午夜福利精品导航凹凸 | 夜夜性日日交xxx性视频 | 日韩黄网 | 国产成人av区一区二区三泡芙 | 亚洲欧美日本在线观看 | 久久99国产精品久久99果冻传媒 | 国产第二页无限好源 | 欧美日本国产精品 | 超碰人人国产 | a级免费在线观看 | 人妻系列无码专区无码中出 | 欧美激情视频网 | 亚洲区免费| www.激情网.com | 丰满人妻一区二区三区视频53 | 国产福利观看 | 成年在线观看免费视频 | 国产高清在线精品一区下载 | 午夜福利精品视频免费看 | 久久婷婷五月综合色国产 | 色婷婷一区二区三区四区成人网 | 久久成人在线视频 | 国产三级一区 | 免费人成视频网站在线观看18 | 乳色吐息免费 | 岛国av中文字幕 | 国产在线观看www污污污 | 久久91精品| 天天射天天日本一道 | 久久久午夜 | 一区二区三区高清日本vr | 美女扒开奶罩露出奶头视频网站 | 女人被躁到高潮嗷嗷叫免费 | 好大好硬好爽免费视频 | 午夜亚洲国产理论片_日本 久久久韩国 | 国产在线精品一区二区高清不卡 | 亚洲精品无码鲁网午夜 | 91视频看片 | 最新成年女人毛片免费基地 | 亚洲国产精品一区二区成人片国内 | 久一精品视频 | 婷婷久久综合九色综合色多多蜜臀 | 亚洲人成无码www久久久 | 开心婷婷五月激情综合社区 | 亚洲第一av无码专区 | 国产精品久久久久久久久久白浆 | 亚洲日韩在线观看免费视频 | 国产一卡二卡3卡四卡无卡国色 | 欧美日韩精品一二三区 | 口爆吞精一区二区久久 | 欧洲丰满大乳人妻无码欧美 | 久久久免费无码成人影片 | 97久久人澡人人添人人爽 | 中文国产成人精品久久app | 奇米久久久 | 成人伊人精品色xxxx视频 | 精品香蕉一区二区三区 | 中文视频在线 | 中文字幕天天躁日日躁狠狠躁 | 欧美性大战xxxxx久久久 | 全球av在线| 久久人妻无码aⅴ毛片a片动图 | 日批网站在线观看 | 免费无码在线播放av | 手机看片福利一区二区三区 | 色综合天天无码网站 | 天天av天天翘 | 国产素人在线观看人成视频 | 国产福利酱国产一区二区 | 在线看av的网址 | 欧美亚洲另类图片 | 国产精品 欧美精品 | 爽啪啪gif动态图第136期 | 精品国产一二三区 | 日本少妇影院 | 天天射天天干天天色 | 亚洲精品日本无v一区 | 国产又粗又硬又长又爽视频 | 国产91精品久久久 | 午夜精品久久久久久久99热 | 欧美日韩亚洲二区 | 88av视频在线| 日韩在线精品 | 久久久久国产精品久久久久 | 思思99思思久久最新精品 | 少妇啪啪av入口 | 亚洲精品一区二区三区无码a片 | 国产精品美女久久久久av超清 | bdsm欧美另类折磨 | 尤物99国产成人精品视频 | 日韩av自拍| 涩涩涩涩涩涩涩涩涩涩 | 免费全部高h视频无码 | 国产精品99久久久久久似苏梦涵 | 中文在线免费观看 | 日日日操操操 | 中文字幕无线观看不卡网站 | 国产性生大片免费观看性 | 疯狂做受xxxx高潮欧美日本 | 久久人人97超碰国产公开 | 天海翼一区二区三区四区在线观看 | 天天看片天天操 | 无码精品人妻一区二区三区涩爱 | 婷婷五月综合丁香在线 | 亚洲综合久久一本伊一区 | 国产免费福利在线视频 | 好爽好黄的视频 | 天堂在线www资源在线 | 亚洲成人一区二区 | 性猛少妇对白xxxxx富婆 | 女同免费毛片在线播放 | 国产999精品久久久影片官网 | 丰满大乳一级淫片免费播放 | 日本特黄特色aaa大片免费 | 强行18分钟处破痛哭av | 伊人超碰 | 伊人网久久网 | 又大又粗又爽免费视频a片 中文字幕 视频一区 | 色五月激情五月亚洲综合考虑 | 在线免费精品 | 国产无套流白浆视频免费 | 国产精品看片 | 老外黄色片 | 伊人影院网 | 婷婷在线视频 | 午夜国产亚洲精品一区 | 久草中文网 | 国产精品伦视频看免费三 | 亚洲成av人网站在线播放 | 天海翼一区二区三区免费 | 久久国产欧美一区二区三区免费 | 欧美精品另类 | 国产午夜精品18久久蜜臀董小宛 | 日本欧美一区二区三区在线播放 | 欧美性猛交xxxx免费看久久久 | 欧美操| av无码精品一区二区三区四区 | 四虎影视永久 | 日韩中文字幕在线一区二区 | 日本在线中文字幕专区 | 国产欧美日韩高清在线不卡 | 国产女人视频 | 西西444www大胆无码视频 | 日韩三级免费观看 | 亚洲另类中文字幕 | 岛国av噜噜噜久久久狠狠av | 国产亚洲欧美日韩在线一区 | 免费黄色av网站 | 神马影院一区二区三区 | 成人一区二区三区久久精品嫩草 | 色婷婷六月亚洲综合香蕉 | 一本色道亚洲精品aⅴ | 亚洲欧美日韩国产精品b站在线看 | 黄色三级短视频 | 久久久精品国产99久久精品麻追 | 台湾精品一区二区蜜桃 | 综合国产一区 | 三级福利在线观看 | 国内精品久久久久久久久齐齐 | 久久av无码精品人妻系列试探 | 国产成人高清精品免费软件 | 久久99精品网久久 | 成人无码无遮挡很h在线播放 | 天天射天天操天天干 | 色狠狠色婷婷丁香五月 | 国产成人精品怡红院在线观看 | 免费无码av污污污在线观看 | 97av麻豆蜜桃一区二区 | 国产精品视频久久久 | 久久久综合久久 | 成人av免费在线 | 日日躁夜夜躁aaaaxxxx | 涩涩免费| 国产日韩一区二区三区在线观看 | 99亚洲乱人伦aⅴ精品 | 久久久精品妓女影院妓女网 | 国产精品三级视频 | 亚洲精品无码永久在线观看性色 | 欧美三日本三级少妇三2023 | 夜夜躁狠狠躁日日躁孕妇 | 日韩在线综合 | 国产激情久久久久影院小草 | av日韩免费在线观看 | 成人做爰69片免费看网站 | 国产成人精品热玖玖玖 | 91精品欧美一区二区三区 | 国产特级嫩嫩嫩bbb 91免费看网站 | 中文日产乱幕九区无线码 | 中国无码人妻丰满熟妇啪啪软件 | 亚洲 中文 欧美 日韩 在线观看 | 精品人妻无码一区二区三区性 | 婷婷六月丁| 国产一卡2卡3卡4卡精品 | 999久久免费精品国产 | 国产福利视频一区二区精品 | 91精品国产乱码麻豆白嫩 | 日本体内she精高潮 日本成人三级 | 爱爱视频观看 | 国产成人精品日本亚洲直接 | 免费av人人干 | 国产免费不卡av在线播放 | 天天都色 | 亚洲精品无码专区 | 亚洲精品爱爱 | 午夜精品一区二区三区的区别 | 国产裸体写真av一区二区 | 日韩三区四区 | 亚洲欧美另类久久久精品 | 在线观看国产最新a视频 | 色爱无码av综合区 | 穿情趣内衣c到高潮av片 | 亚洲欧美成人一区二区三区 | 成人性生交大片免费看r链接 | 日本黄色特级片 | 99re8这里有精品热视频 | 香蕉大人久久国产成人av | 十八岁以下禁止观看黄下载链接 | 中文字幕免费高清在线 | 色av影院 | 无码成a毛片免费 | 99中文字幕 | av高清网站 | 欧美黑人性暴力猛交喷水 | 亚洲精品成人老司机影视 | 日韩中文字幕中文无码久本草 | 中文字幕无码人妻少妇免费 | 美女疯狂连续喷潮视频 | 男人扒开女人腿桶到爽免费 | 99欧美日本一区二区留学生 | 乱lun合集在线观看视频 | 国产精品无码专区第一页 | 亚洲视频四区 | 久久99久国产精品黄毛片入口 | 欧美日韩国产中文高清视频 | 欧美性色黄大片人与善 | 欧美日韩成人一区二区 | 日本青青草 | 午夜爱爱免费视频体验区 | 大胆日本熟妇xxxx | 日本久久久网站 | 国产精品国产成人国产三级 | 午夜片无码区在线观看爱情网 | 亚洲午夜久久久精品影院 | 精品人伦一区二区色婷婷 | 麻豆精品久久久久久久99蜜桃 | 精品国产午夜理论片不卡精品 | 欧美人与动牲交大全免费 | 国产亚洲欧美日韩精品一区二区三区 | 超碰日韩| 亚洲欧美综合精品另类天天更新 | 日韩欧美中文在线视频 | 亚洲综合视频网站 | 国产成人a人亚洲精v品无码 | 欧美最骚最疯日b视频观看 大杳蕉狼人伊人 | 亚洲天堂免费看 | 里番本子纯肉侵犯肉全彩无码 | 九色丨porny丨自拍入口 | 久久精品2019中文字幕 | 国产精选污视频在线观看 | 色老大久久综合网天天 | 国产精品嫩草影视 | 国内精品视频饥渴少妇在线播放 | 特一级黄色毛片 | 国产盗拍sap私密按摩视频 | 欧美一区二区三区色 | 国产综合视频 | 性生交大片免费全毛片 | 免费无码黄动漫在线观看 | 亚洲精品国产精 | av色欲无码人妻中文字幕 | 亚洲经典在线观看 | 色吧av色av | 中文激情在线一区二区 | www.av不卡| 日本阿v片在线播放免费 | 麻豆成人久久精品综合网址 | 上司的丰满人妻中文字幕 | 夜夜影院未满十八勿进 | 久久99精品久久久久久齐齐 | 成在人线av无码免费高潮求绕 | 久久爱av影视天堂影视 | 色欲狠狠躁天天躁无码中文字幕 | 一本色道久久综合无码人妻 | 曰韩内射六十七十老熟女影视 | 97在线视频网站 | 日本熟妇浓密毛毛多 | 永久看看免费大片 | 亚洲欧美另类精品二区 | 国产av明星换脸精品网站 | 未满十八勿入av网免费 | 国产精品va尤物在线观看蜜芽 | 国产精品一区二区三区在线 | 无码人妻丰满熟妇区五十路百度 | 超薄肉色丝袜足j调教99 | 国产手机视频在线 | 欧美中文字幕在线观看 | 先锋资源中文字幕 | 久久久久亚洲精品乱码按摩 | 亚洲黄色三级视频 | 午夜久久久久久 | 很黄激情的啪啪口述细节 | 国产刚发育娇小性色xxxxx | 99riav国产在线观看 | 三级av网| 国产精品午夜影院 | 天天综合影院 | 国产偷国产偷亚洲清高动态图 | 免费男人和女人牲交视频全黄 | 国内自拍真实伦在线观看 | 国产无遮挡又黄又爽不要vip网站 | 成人av不卡| 连续高潮抽搐爽死喷水流白浆 | 欧美日韩一二三 | 免费国产黄网站在线观看动图 | 久久一本日日摸夜夜添 | 午夜无码伦费影视在线观看果冻 | 国产精品_国产精品_k频道 | 91精品久久久久久粉嫩 | 人妻熟女一区二区三区app下载 | 国产精品自在欧美一区 | 国产精品九九视频 | 国产精品熟女在线视频 | 熟女精品视频一区二区三区 | 久久久久久久女女女又又 | 亚洲首页一区任你躁xxxxx | 秋霞国产午夜伦午夜福利片 | 欧美亚洲自偷自拍 在线 | 囯精品人妻无码一区二区三区99 | caoporn免费在线视频 | 无码av在线一本无码 | 国产精品天天看天天狠 | 瑟瑟视频在线观看 | 高清一级片 | 久久久久久无码精品人妻a片软件 | 黄色毛片基地 | 亚洲精品欧美综合一区二区 | 免费人成在线观看视频无码 | 92看看福利1000集合集免费 | 男人女人做爽爽18禁网站 | 国产98色在线 | 国 | 96亚洲精品久久 | 一本一道久久a久久综合精品 | 又大又粗又硬又爽黄毛少妇 | 久久人人澡 | 女同性久久产国女同久久98 | 四只虎影院在线免费 | 在线三级网址 | 男人的天堂亚洲 | 激情成人开心网 | 性色av一区二区三区四区 | 18禁黄无遮挡网站 | 日日天干夜夜人人添 | 免费1级做爰片在线观看爱 日本精品三级 | www.av资源| 亚洲国产精品一区二区动图 | 无码无遮挡又大又爽又黄的视频 | 小嫩妇好紧好爽再快视频 | 啪啪影音 | 欧美刺激性大交 | 久久国产精品免费一区下载 | 午夜影院在线观看免费 | 97人妻碰碰碰久久久久 | 久久99热婷婷精品一区 | 成在人线无码aⅴ免费视频 国产精品夫妇激情 | 亚洲欧美日韩一区二区三区四区 | 国产深夜福利 | 狂野欧美性猛交xxxxx视频 | 强插女教师av在线 | 三级精品视频 | 久久综合伊人77777麻豆 | 亚洲欧美成αⅴ人在线观看 | 18禁勿入网站入口永久 | 女人被爽到高潮视频免费国产 | 性网 | 色午夜日本高清视频www | 97视频免费观看 | 久草福利| 亚洲a∨国产av综合av网站 | 亚洲视屏在线观看 | 久久综合国产乱子伦精品免费 | 国产无遮挡免费视频 | 男插女高潮一区二区 | 人妻体内射精一区二区 | 欧美日韩成人免费 | 亚洲中亚洲字幕无线乱码 | 日日色视频 | 亚洲一久久 | 无码免费无线观看在线视 | 亚洲精品视频播放 | 一区二区三区国产亚洲网站 | 免费又黄又爽又猛的毛片 | 综合色导航 | 玖玖玖国产精品视频 | 成人综合视频网 | 亚洲精品国偷自产在线99人热 | 国精品午夜福利视频不卡757 | 伊伊人成亚洲综合人网7777 | 亚洲国产成人超a在线播放 亚洲成人第一区 | 精品乱码一区二区三区四区 | 精品久久一区二区乱码 | 一级片成人 | 欧美专区在线播放 | 久久综合狠狠综合五十路 | 青草内射中出高潮 | 青草视频在线观看视频 | 日韩欧洲亚洲 | 国产三级在线视频 一区二区三区 | 在线毛片观看 | 亚洲人成网亚洲欧洲无码 | 九色视频导航 | 日韩欧美第一页 | 在线色av| 人人妻人人爽人人添夜夜欢视频 | 欧美乱妇高清无乱码免费 | 又爽又黄又无遮挡网站 | 免费久久人人香蕉av | 国产精品美女久久久久 | 夜夜草网 | 成人亚洲欧美日韩在线观看 | 91精品久久久久久久99蜜桃 | 国内野外强奷在线视频 | 成人无码a区在线观看视频 国产偷自视频区视频 | 中文字幕在线不卡 | 日本熟妇中文字幕三级 | 中国av一区二区 | www青青草原 | 国内精品久久久久久久久电影网 | 亚洲第一黄色网址 | 小雪尝禁果又粗又大的视频 | 国产裸体视频网站 | 人妻无码一区二区视频 | 伊大人久久香线焦宗合一75大 | 奶真大水真多小荡货av | 无码人妻aⅴ一区二区三区 久久天天躁狠狠躁夜夜夜 一级黄色大片网站 | 国产成人av免费 | 18视频在线观看3d | 久久久久国产精品一区二区三区 | 亚洲二区在线播放 | 厨房玩丰满人妻hd完整版视频 | 久久欧美一区二区三区性生奴 | 欧美 国产 亚洲 卡通 综合 | 亚洲a∨国产高清av手机在线 | 久久这里只有免费精品6www | 激情视频久久 | 在线免费观看你懂的 | 亚洲 欧美 国产 日韩 精品 | 91久久国产露脸精品 | 国产又黄又硬又湿又黄的故事 | 人人揉揉揉香蕉大免费 | 五月色婷婷丁香无码三级 | 亚洲欧美日韩成人一区 | 欧美性猛交xxxxx按摩欧美 | 亚洲国产av一区二区三区 | 99av国产精品欲麻豆 | 美女视频黄8视频大全 | 人妻无码久久久久久久久久久 | 自拍偷在线精品自拍偷99 | 妇欲欢公爽高h欢欲苏欢苏望章 | 久久精品国产亚洲77777 | 日日摸夜添夜夜夜添高潮 | 久久夜色精品国产欧美乱 | 八个男人躁我一个视频免费 | 久久午夜国产 | 琪琪午夜 | 亚洲色图p| 韩国中文字幕在线观看 | 日本色影院 | 在线网址你懂的 | 国产激情久久久久影院小草 | 午夜国产精品视频 | 亚洲一区在线日韩在线秋葵 | 狠狠欧美 | 日本最新免费二区三区 | 91久久国产露脸精品 | 国产白丝在线 | 2020年无码国产精品高清免费 | 亚洲aⅴ综合色区无码一区 最新亚洲人成网站在线影院 | 亚洲成色www久久网站瘦与人 | 精品欧美一区二区三区久久久 | 国产又黄又刺激又高潮的网站 | 在线看片无码永久免费视频 | a在线视频v视频 | 香蕉成人av | 麻豆视传媒官网免费观看 | 色大师在线观看免费播放 | 神马久久久久 | 永久免费看黄网站 | 大唐艳妇臀荡乳欲伦小说 | 天堂在线免费视频 | 爽爽窝窝午夜精品一区二区 | 久久综合丝袜日本网 | 永久免费看av | 中文字幕人成乱码熟女免费 | 中文字幕在线第二页 | 丰满日韩放荡少妇无码视频 | 国产午夜亚洲精品国产成人小说 | 国产日韩欧美不卡 | 久久网站免费观看 | 91网站在线免费观看 | 九一久久精品 | 国产精品第一页在线观看 | 日本少妇一级片 | 连续高潮抽搐爽死喷水流白浆 | 四虎国产精品永久免费地址 | 国产免费午夜福利蜜芽无码 | 黄色一级片a | 射死你天天日 | 精品国色天香一卡2卡3卡 | 日本特黄高清免费大片 | 91视频久久 | 日本成人| 4438x成人网全国最大 | 鲁一鲁一鲁一鲁一av卡三 | 少妇被粗大的猛烈进出免费视频 | 涩涩97| 国产99视频在线观看 | 国产精品一区二区在线免费观看 | 亚洲热无码av一区二区东京热av | 草久久av| 国产免费人成在线视频app | 日韩精品少妇 | 国产拍拍拍无遮挡免费 | 免费人成视频在线播放 | 打开每日更新在线观看 | 久久久久青草线蕉综合 | 国产精品手机在线观看 | av免费在线观 | 天天干天天舔天天操 | 97自拍偷拍视频 | 国产乱人伦偷精品视频免 | 久久嫩草| 欧美亚洲色倩在线观看 | 97爱爱爱 | 亚洲精品国产品国语在线观看 | 久久亚洲精品国产精品 | 摸进她的内裤里疯狂揉她动图视频 | 97综合网| jizz久久| 免费刺激性视频大片区 | 亚洲男人最新版本天堂 | 青娱乐手机在线视频 | 婷婷黄色网 | 国产又粗又猛又黄又爽的视频 | 曰批免费视频免费无码软件 | 男人扒开女人腿做爽爽视频 | 怡红院精品久久久久久久高清 | 欧美顶级少妇做爰hd | 四虎影视成人永久免费观看亚洲欧美 | 伊人色综合网久久天天 | 亚洲男女羞羞无遮挡久久丫 | 日产精品久久久久久久 | 午夜777 | 亚洲综合在线一区二区三区 | 蜜桃网av| 久久婷婷五月综合尤物色国产 | 精品街拍一区二区 | 亚洲人成在久久综合网站 | 国产综合无码一区二区辣椒 | av色图在线 | 久草网在线视频 | 国产成人鲁鲁免费视频a | 熟女乱牛牛视频在线观看 | 精品国产免费人成电影在线看 | 久草在线这里只有精品 | 久久精品视频网 | 日韩精品一区二区大桥未久 | 免费三级网 | 亚洲一区二区黄色 | 97成人在线观看 | 肉色丝袜一区二区 | 久久久久久久性 | 好爽又高潮了毛片免费下载 | 暴力调教一区二区三区 | 日韩视频免费大全中文字幕 | 国产一区二区视频播放 | 成人免费激情视频 | 伊人精品在线观看 | 免费1级a做爰片观看 | 欧美色就色 | 国产精品一线二线三线 | 日本精品一区二区三区在线观看 | 乱码一卡二卡新区永久入口 | 超清中文乱码一区 | 国产视频第三页 | 天堂久久天堂av色综合 | 天堂网在线中文 | 天天躁夜夜躁狠狠躁婷婷 | 玖玖在线免费视频 | 黄色资源在线观看 | 天海翼一区二区三区四区在线观看 | 天天摸天天爽 | 粗大黑人巨精大战欧美成人 | 国产精品久久久久久无码五月 | 国产高中女学生第一次 | 久久国产成人午夜av影院 | 18禁黄无码免费网站高潮 | 久久久久亚洲精品 | 国产熟女精品视频大全 | 在线观看中文字幕一区二区 | 日本高清二区 | 亚洲男人的天堂在线aⅴ视频 | 亚洲男女啪啪 | 亚洲香蕉一区二区三区 | 中文字字幕码一二三区的应用场景 | 亚洲图片 欧美 | 天天草天天爱 | 日本精品一区二区 | 香蕉久久夜色精品升级完成 | 天天干中文字幕 | 天天看天天射 | 久久婷综合 | 国产精品性夜天天拍拍2021 | 日日噜夜夜爽精品一区 | 精品97国产免费人成视频 | 尤物九九久久国产精品的特点 | 99久久精品九九亚洲精品 | 国产精品国产毛片 | 午夜日韩 | 久久99精品国产麻豆蜜芽 | 99精品久久久久久中文字幕 | 中文有码第一页 | www.久久爱.com狼人 | 亚洲高清码在线精品av | 天天天在线综合网 | 免费观看又色又爽又黄的按摩视频 | 欧美成人一区二区三区在线视频 | 色天天av| 一级黄色免费观看 | 色偷偷人人澡人人添老妇人 | 天堂av手机版| 人成网站在线观看 | 天堂网在线观看视频 | 亚洲精品久久久久久国 | 白嫩丰满国产精品 | 爽爽影院免费观看 | 在线国产日韩 | 人妻精品久久久久中文字幕69 | 色妞色综合久久夜夜 | 亚洲成人黄色网址 | 亚洲日本乱码一区二区在线二产线 | 亚洲成人a∨ | 视频三区| 男人天堂欧美 | 中文字幕影视 | 国产99爱在线视频免费观看 | 国产欧美日韩精品丝袜高跟鞋 | 手机av观看| 综合天堂av久久久久久久 | 国产果冻豆传媒麻婆精东 | 婷婷色综合aⅴ视频 | 在线观看国产精品普通话对白精品 | 色噜噜亚洲男人的天堂www | 91中文在线| 国产色网址 | 无码精品人妻一区二区三区免费看 | 日韩av片在线免费观看 | 欧美精品另类 | 欧美日本国产欧美日本韩国99 | 亚洲人成影院在线观看 | 色骚网 | 麻豆精品一区综合av在线 | 亚洲地址一 | 九色91popny蝌蚪 | 久久久国产乱子伦精品 | 亚洲欧美日韩国产综合在线一区 | 亚洲国产精品一区二区www | 97夜夜澡人人爽人人喊a | 精品免费国产一区二区三区四区 | 亚洲精品18p | 国产成人亚洲综合无码品善网 | 成码无人av片在线电影网站 | 宅女噜噜66国产精品观看免费 | 午夜免费网址 | 成人影片在线播放 | 最新日韩精品中文字幕 | 亚洲乱码一区二区三区三上悠亚 | 17c在线视频在线观看 | 成人毛片网 | 欧美在线va | 男人边吃奶边做呻吟免费视频 | 黄网在线免费观看 | 欧美 日韩版国产在线播放 国产精品28p | 国产超碰人人做人人爱一二区视品 | 日韩极品视频在线观看 | 免费无码av片流白浆在线观看 | 亚洲免费综合 | 国产伦精品一区二区三区照片91 | 日本日日夜夜 | 四虎成人欧美精品在永久在线 | 欧美日韩色另类综合 | 人人爽人人模人人人爽人人爱 | 视频二区丝袜国产欧美日韩 | 张津瑜国内精品www在线 | 强行18分钟处破痛哭av | 国产麻豆一精品一av一免费 | 欧美色一级 | 亚州激情视频 | 岛国精品在线观看 | 1000部精品久久久久久久久 | 久草在线视频免费播放 | 精品久久久噜噜噜久久久 | 播放灌醉水嫩大学生国内精品 | 亚洲麻豆av成本人无码网站 | 精品不卡在线 | 肥熟一91porny丨九色丨 | 中文字幕日韩欧美一区二区 | 中文字幕亚洲制服在线看 | 宝宝好涨水快流出来免费视频 | 性较小国产交xxxxx视频 | 国产在线国偷精品产拍免费yy | 在线观看国产成人swag | 无码人妻精品一区二区三区99不卡 | 911亚洲精品777777 | 久久国产超碰女女av | 中文字幕久热精品视频在线 | 国产不卡一 | 台湾极品少妇xxx | 亚洲国产精品成人精品无码区在线 | 国产精品久久久久久亚洲调教 | av亚洲产国偷v产偷v自拍软件 | 国产成人精品亚洲日本777 | 日韩一区精品视频一区二区 | 14美女爱做视频免费 | 伊人久久大香线蕉成人综合网 | 日本aⅴ | 中文字幕无码乱码人妻系列蜜桃 | 在线精品一区二区 | 国产精品无码制服丝袜 | 亚洲天堂网视频 | 亚洲伊人色综合网站 | 夜夜嗨国产 | 色偷偷亚洲女人的天堂 | 91成人精品 | 久久入 | av黄色影院| 青草青在线 | 中文字幕中文有码在线 | 清清草免费视频 | 日韩区欧美久久久无人区 | 91视频中文字幕 | 欧美三级网站 | 成人3d动漫一区二区三区 | 国产农村黄aaaaa特黄av毛片 | 精品成人毛片一区二区 | 亚洲性av网站 | 天堂网在线.www天堂在线资源 | 亚洲一个色| 91精品在线免费观看 | 天堂网亚洲 | 亚洲精品在线一区二区 | 欧美精品第一区 | www.成人网.com | 97se亚洲国产综合自在线尤物 | 色翁荡熄又大又硬又粗又视频图片 | 久久亚洲色www成爱色 | 亚洲精品第一国产综合麻豆 | 91免费高清视频 | 久久久老熟女一区二区三区 | eeuss影院一区二区三区 | 蜜桃av网站| 亚洲色在线无码国产精品不卡 | 国产一卡2卡3卡四卡精品网站 | 中文精品在线观看 | 亚洲中文字幕在线精品2021 | 最新中文字幕免费看 | www一区二区www免费 | 一级特黄aa毛片 | 久久麻豆成人精品 | 中文日产日产乱码乱偷在线 | 色综合久久无码中文字幕 | 国产激情з∠视频一区二区 | 亚洲午夜久久久久久久久 | 亚洲成人精选 | 亚洲国产欧美在线人成大黄瓜 | 久久亚洲日韩av一区二区三区 | 国产色视频一区二区三区 | 在线观看国产亚洲视频免费 | 亚洲成a人片在线观看天堂 青青国产在线视频 | 亚洲国产影院av久久久久 | 天天草天天草 | 国产九一视频 | 国产人妻aⅴ色偷 | 人妻精品久久无码区洗澡 | 欧美精品免费一区二区三区 | 亚洲精品在看在线观看 | 欧美日韩成人在线播放 | 亚洲美女屁股眼交2 | 肉色超薄丝袜脚交69xx | 午夜福利啪啪无遮挡免费 | 欧美内射深喉中文字幕 | www中文在线 | 国产剧情麻豆女教师在线观看 | 女人扒下裤让男人桶到爽 | 日韩片在线 | 日韩欧美一区二区在线观看视频 | 国产精品人妻久久久久 | 91网址入口 | 色综合伊人色综合网站 | 欧美私人网站 | 国产区久久 | 日韩大陆欧美高清视频区 | 奇米影视7777久久精品人人爽 | 中文字幕av观看 | 国内精品一区二区三区在线观看 | 国产最新精品自产在线观看 | 亚洲天砖砖区免费 | 又爽又色禁片1000视频免费看 | 97精品国产一区二区三区 | 91免费看视频| 日本丰满少妇xxxx | 97伊人超碰 | 亚洲 中文 欧美 日韩 在线观看 | 久久人国产 | 亚洲综合网站 | 国产av福利久久 | 天天干夜夜曰 | 亚洲天堂精品在线观看 | 日韩亚洲精品视频 | 又长又大又粗又硬3p免费视频 | 久久婷婷精品 | 黄色成年人视频在线观看 | 国产超级va在线观看视频 | 99久久精品国产系列 | 国产精久久一区二区三区 | 看污片网站 | 亚洲天堂一区二区三区四区 | juliaann精品艳妇在线 | 免费无码国产v片在线观看 av色影院 | 日日操天天操 | 国产成人久久久精品二区三区 | 欧美一区二区三区综合 | 天天爽天天噜在线播放 | 亚洲色成人网站www永久小说 | 日韩欧美制服 | 日本aaa视频 | 人人爽久久涩噜噜噜蜜桃 | 亚洲成a人片777777张柏芝 | 亚洲精品一区二区冲田杏梨 | 亚洲宗人网 | 一区二区三区四区精品 | 国产精品麻豆成人av在线观看 | 国产综合色视频 | 五月婷婷一区二区 | 狠狠色丁香婷婷综合久久片 | 国产黄a三级三级三级 | 午夜精品久久久久久久91蜜桃 | 性生交大片免费视频网站 | 天天拍天天干 | www.久久.com| 欧美日韩二三区 | 日韩精品久久久久久久玫瑰园 | 亚洲午夜久久久 | 一区二区看片 | 曰的好深好爽免费视频网站 | jjzz日本女人| 国产肉体xxxx裸体137大胆 | 男女爽爽午夜18禁影院免费 | 久久人妻无码中文字幕 | 久久无码人妻精品一区二区三区 | 99av成人精品国语自产拍 | 亚洲乱码卡一卡二卡 | 国产一级淫片a免费播放 | 无码av免费毛片一区二区 | 国产99在线观看 | 国产精品国产精品国产专区蜜臀ah | 正在播放酒店约少妇高潮 | 亚洲人成伊人成综合网小说 | 亚洲情a成黄在线观看动漫尤物 | 成人免费毛片内射美女-百度 | 日韩视频一区二区 | 99精品一区二区三区无码吞精 | 少妇被躁爽到高潮无码人狍大战 | 国产女人爽的流水毛片 | 欧美日韩国产色综合视频 | 国产 校园 另类 小说区 | 色欲av亚洲一区无码少妇 | 久久人人爽人人爽人人av | 亚洲视频第一页 | 国产一区av在线 | 无码人妻一区二区三区免费n鬼逝 | 91.com视频 | caoporn免费在线视频 | 欧美高清性色生活片免费观看 | 欧美激情在线免费 | 久草在| 欧美日韩国产在线播放 | sm成人免费网站 | 91丝袜超薄交口足 | 日美女网站 | hodv一21134铃原爱蜜莉在线 | 亚洲熟妇丰满xxxxx小品 | 无码内射中文字幕岛国片 | 影音先锋大型av资源 | 8050午夜二级无码中文字幕 | 久久欧美一区二区三区性生奴 | 91久久久久久久国产欧美日韩- | 精品成人一区二区三区四区 | 亚洲不卡中文字幕无码 | 宝贝腿开大点我添添公视频免费 | 五月婷婷婷婷婷 | 欧美视频在线免费 | 久久人妻av中文字幕 | 极品人妻被黑人中出种子 | 毛片免费全部播放无码 | 人妻精油按摩bd高清中文字幕 | 欧美xxxxxhd| 理论片午午伦夜理片影院99 | 真人无码国产作爱免费视频 | 激情小说av | 国产又黄又硬又湿又黄的网站免费 | 中文天堂在线观看 | 在线播放国产精品 | 色哟哟在线视频精品一区 | 干干操操| 大奶子情人 | 丁香五月亚洲综合在线 | 国产va精品午夜福利视频 | 岛国精品在线 | 国产中文字幕免费观看 | 国产精品va无码免费麻豆 | 国产又黄又爽又色在线视频播放 | 国内免费久久久久久久久 | 国产美女视频免费观看网址 | 99热热久久 | 国产精品久久久91 | 色图15p | 风流少妇按摩来高潮 | 久久国产精品综合 | 免费黄色毛片视频 | 天天摸日日摸 | 91看片淫黄大片在线天堂最新 | 天堂网www网在线最新版 | 男女做爰无遮挡性视频 | 国产最新精品视频 | 久久精品亚洲乱码伦伦中文 | 亚洲一区综合 | 国产suv精品一区二区6 | 国产精品一区波多野结衣 | 国产色网址 | 在线精产国品 | 国产精品成人99一区无码 | 国产成av人片在线观看天堂无码 | 四虎地址8848 | 免费看午夜福利在线观看 | 亚洲女人在线 | 午夜影院美女 | 国产福利资源在线 | 国产欧美日韩一区2区 | 国产sm重味一区二区三区 | 国产喷水吹潮在线播放91 | 欧美高清熟妇啪啪内射不卡自拍 | 无码日本精品一区二区片 | 啪啪后入内射日韩 | 丁香花免费高清视频在线观看 | 热久久一区二区 | 国产99久久久久久免费看 | 女人爽到喷水的视频大全 | 男女18禁啪啪无遮挡 | www.国产视频.com | 国产真实强被迫伦姧女在线观看 | 国产三级三级a三级 | 精品亚洲卡一卡2卡三卡乱码 | 亚洲美女av在线 | 99九九热 | 人人妻人人爽人人做夜欢视频 | 色欲天天天天天综合网 | 精品日产1区2卡三卡麻豆 | 色婷婷久久久久 | 中文字幕2区 | 男人网站在线观看 | 欧美伦费免费全部午夜最新 | 欧美日韩亚洲国产综合乱 | 国产做爰xxx18在线观看网站 | 亚洲日韩欧洲无码av夜夜摸 | 色综合久久一区二区三区 | 偷拍老熟妇和小伙xxxx视频 | 欧美日韩一区二区三区在线 | 日日鲁鲁鲁夜夜爽爽狠狠视频97 | 青青草影院在线观看 | 黄色片久久久久 | 午夜探花在线观看 | 久久99精品久久久久久秒播九色 | 久久天天躁狠狠躁夜夜不卡 | 精品av一区二区 | 欧美日韩在线第一页免费观看 | 一级大片免费看 | 插插射啊爱视频日a级 | 性欧美交xxxxx免费视频 | www.少妇| 素人一区二区三区 | 在线国产福利 | 日韩乱码人妻无码系列中文字幕 | 在线影院av | 男人的天堂在线 | 婷婷91欧美777一二三区 | 在线免费视频一区 | 人人干狠狠干 | 中文字幕日韩一区 | 一曲二曲三曲在线观看中文字幕动漫 | 夜夜爱视频| 一级作爱视频 | 九九久re8在线精品视频 | 国产四虎影院 | 久久福利小视频 | 亚洲精品欧洲精品 | 中文字幕一区精品 | 2018年秋霞无码片 | 日韩国产亚洲高清在线久草 | 激情天堂网 | 无码人妻丰满熟妇区毛片 | 鲁鲁夜夜天天综合视频 | 又黄又爽又猛的视频免费 | 99久久免费视频在线观看 | 91精品国产乱码久久桃 | 亚洲精品字幕在线观看 | 狠狠色欧美亚洲狠狠色www | 欧美一进一出抽搐大尺度视频 | 强开小婷嫩苞又嫩又紧视频 | 香蕉视频91| 中国女人69xxx | 亚洲蜜桃v妇女 | 奇米久久久| 三上悠亚网站在线观看一区二区 | 亚洲精品911| 免费永久av | 天堂va欧美va亚洲va好看va | 曰的好深好爽好紧的视频 | 天天爱天天做天天av | 女人18毛片水真多免费视频 | 破了亲妺妺的处免费视频国产 | 一级黄色片免费观看 | 欧美黑人又粗又大又爽免费 | 午夜亚洲国产理论片二级港台二级 | 大又大又粗又硬又爽少妇毛片 | 亚洲国产综合专区在线播放 | 衣服被扒开强摸双乳18禁网站 | 日本国产制服丝袜一区 | 欧美麻豆久久久久久中文 | 亚洲欧美综合久久 | 极品少妇被猛的白浆直喷白浆喷水 | 国产精品毛片一区二区在线看舒淇 | 欧美最猛性视频另类 | 无码任你躁久久久久久老妇 | 欧美午夜成人片在线观看 | 久艾草在线精品视频在线观看 | av免费观看国产 | 青青操免费在线观看 | 国产三级日本三级在线播放 | 中文字幕三区 | 欧美成人免费观看视频 | 国产人成视频在线观看 | 精品成人在线观看 | 国产精品亚洲а∨无码播放 | 日本人又黄又爽又色的视频 | 99热最新在线 | 毛片免费全部无码播放 | 亚洲国产精品无码久久久不卡 | 男人添女人囗交做爰的技巧 | 久久久无码精品亚洲a片0000 | 超碰国产人人 | www.nencao| 国产精品aⅴ免费视频 | 日本一区二区精品视频 | www.超碰 | 亚洲男人天堂av | 亚洲精品久久无码av片软件 | 极品无码国模国产在线观看 | 欧洲日韩亚洲无线在码 | 久久6视频 | 天天婷婷| 亚洲妇女自偷自偷图片 | 国产黑丝在线播放 | 手机免费av| 欧美人与按摩师xxxx | 久久精品免费 | 西西大胆午夜人体视频妓女 | 宫女淫春3 | 亚洲精品乱码久久久久66 | 国产99在线 | 欧洲 | 国产精品视频白浆免费视频 | 精品夜夜澡人妻无码av蜜桃 | 丁香在线 | 亚洲综合在线第一页 | 日韩少妇内射免费播放18禁裸乳 | 国产欧美亚洲精品a | 美女网站免费视频 | 无遮挡裸体免费视频尤物 | 久久九九综合 | 久草综合网| 激情成人在线观看 | 青青草成人免费视频 | 亚洲欧美成aⅴ人在线观看 久久成人a | 蜜臀aⅴ精品一区二区三区 99久久久精品免费观看国产 | 亚洲日韩中文字幕在线播放 | 丁香五月亚洲综合在线 | 宅男噜噜99国产精品麻豆精品 | 久久人妻无码aⅴ毛片a片动图 | 亚洲人成电影免费观看在线看 | 日韩在线 中文字幕 | 少妇乱淫aaa高清视频真爽 | 亚洲中文在线精品国产 | 开心网五月色婷婷 | 深夜国产福利 | 人人妻人人澡人人爽精品欧美 | 久久爽久久爽久久av东京爽 | 麻豆文化传媒精品一区观看 | 国内av在线播放 | 白浆一区二区 | 天天干2018| 韩国成人免费视频 | 黄色免费在线网站 | 国产精品丝袜无码不卡一区 | 91狠狠操 | 四虎国产精品免费久久久 | 一级片黄色的 | 欧美三级一区 | 亚洲黄色一级网站 | 青青草免费公开视频 | 日本中文字幕乱码免费 | 荡淫我的肉体hd | 中文字幕无线码免费人妻 | 国产四区 | 日韩精品一区国产偷窥在线 | 国产精品久久这里只有精品 | 久草性视频| 日日躁夜夜躁狠狠躁超爽2001 | 国产一区二区三区四区五区tv | 男女同房做爰爽免费 | 一二三区在线视频 | 日本精品视频网站 | 欧美人与牲动交xxxx | 免费视频中文字幕 | 人妻中出受孕 中文字幕在线 | 老熟妇乱子伦系列视频 | 在线亚洲成人 | 夏目彩春av一凶二区在线播效 | 色悠久久久久综合先锋影音下载 | 古代公妇乱h高h | 精品国产aⅴ | 亚洲精品沙发午睡系列 | 国产精品无码专区在线播放 | 亚洲 另类 小说 国产精品无码 | 四虎永久免费在线 | 免费看男女www网站入口在线 | 99国产精品99久久久久久娜娜 | 天天综合91| 国产成人午夜无码电影在线观看 | 2021在线精品自偷自拍无码 | 亚洲欧美日韩另类精品一区二区三区 | 色欲天天婬色婬香综合网完整 | 国内精品一区二区福利视频 | 亚洲国产清纯 | 亚洲激情网站 | 日本精品视频免费观看 | 欧美激情首页 | 午夜久久久久 | 久久久久国精品产熟女久色 | 国产在线观看一区二区 | 色香欲天天天影视综合网 | 欧美国产日韩综合 | 日韩欧美一本 | 色五月丁香五月综合五月4438 | 奇米视频888战线精品播放 | 无码精品一区二区三区在线 | 日本一区二区三区免费观看 | 国产精品视频网站 | 国产精品99久久久久久动医院 | 精品人妻一区二区三区四区在线 | 国产精品欧美激情在线 | 日日碰碰| 无码专区手机在线播放 | 女同舌吻互慰一区二区 | 国产三级a毛视频在线观看 免费黄色av网站 | 久久不见久久见免费影院 | www.日韩系列 | 亚洲 制服 丝袜 无码 | 亚洲精品一卡2卡3卡4卡乱码 | 欧洲精品一区 | 午夜性福利 | 黄色视频毛片 | 欧美日韩亚洲一区二区三区一 | 亚洲乱码日产精品bd | 欧美成人aaaa免费全部观看 | 欧美丰满老熟妇xxxxx性 | 色翁荡息又大又硬又粗又爽电影 | 视频一区二区三区中文字幕 | 毛片大片 | 亚洲精品大全 | 黑人粗进入欧美aaaaa | 国产乱码人妻一区二区三区 | 手机看片一区 | 亚洲另类无码专区首页 | 国产寡妇亲子伦一区二区 | 国产图色 | 国产精品卡1卡2卡三卡四 | 国产干美女| 嫩草天堂 | 2020年最新国产精品正在播放 | 亚洲色大成网站www久久 | 一级日韩毛片 | 亚洲综合a| 午夜av大片 | 69国产成人综合久久精品欧美 | 伊人精品综合 | 国产精品第一页在线观看 | 欧洲精品一卡2卡三卡4卡影视 | 亚洲欧美自拍偷拍 | 欧美成人精品一区 | 国模大尺度一区二区三区 | 国产亚洲欧美在线 | 日本老熟欧美老熟妇 | 亚洲国产视频一区二区三区 | 国产69精品久久久久99尤物 | 久久亚洲中文字幕不卡一二区 | 狠狠狠色丁香婷婷综合久久88 | 国产精品无码v在线观看 | 青青草成人免费 | 国产69久久精品成人看动漫 | 精品国产乱码久久久久久果冻传媒 | 乱色精品无码一区二区国产盗 | 懂色av噜噜一区二区三区av88 | 乱淫交换| 欧美精品在线一区二区三区 | 91新视频在线观看 | 亚洲国产欧美日韩在线人成 | 天天爽夜夜爽人人爽曰 | 日韩成人av一区二区 | 亚洲福利视频二区 | 中文字幕在线免费观看 | 国产精品人妻久久ai换脸 | 亚洲欧美综合区自拍另类 | 欧美美女一区二区三区 | 亚洲区久久 | 国产福利一区二区精品秒拍 | 国产大学生援交视频在线观看 | 小宝极品内射国产在线 | 日本另类αv欧美另类aⅴ | 国产69精品久久久久人妻 | 国产一卡二卡四卡无卡免费 | 91丨九色丨蝌蚪最新地址 | 日韩一级在线观看视频 | 国产在线www | 91丁香婷婷综合久久欧美 | 99色| 亚洲精品无人区 | 欧美一区二区三区在线看 | 精品亚洲国产成人av不卡 | 精品国产乱码久久久久久丨区2区 | 欧美成人看片黄a免费看 | 人妻精品动漫h无码专区 | 亚洲免费黄色网址 | 国产人妻久久精品二区三区老狼 | 一级免费看视频 | 中文高清av | 在线一级视频 | 99在线观看精品视频 | 精品国产一区二区三区四区四 | 日日做夜夜爽毛片麻豆 | 国产小视频在线播放 | 天干天干天啪啪夜爽爽99 | 国产欧美亚洲精品第二区软件 | 无码人妻丰满熟妇a片护士 日韩黄色影视 | 久久奇米 | 99精美视频 | 久久精品香蕉绿巨人登场 | 无码人妻日韩一区日韩二区 | 色妞av永久一区二区国产av开 | 影音先锋人妻每日资源站 | 亚洲欧洲无码av一区二区三区 | 久久人妻无码aⅴ毛片a片动图 | 六月色婷婷 | 国产一区视频免费在线观看 | 唯美欧美亚洲 | 亚洲视频在线免费播放 | 亚洲 欧美 自拍 美腿 卡通 | 狠狠色噜噜狠狠狠777米奇小说 | av免费在线播放网站 | 国产精品免费在线播放 | 人人妻人人澡人人爽人人精品浪潮 | 六月丁香激情网 | 欧美老女人性生活视频 | 久久综合九色综合欧美亚洲 | 国内精品自线在拍2020不卡 | 欧美性猛交xxxx乱大交视频 | 激情图片网站 | 国产精品视频免费观看 | 蜜臀av午夜一区二区三区 | 成人羞羞视频播放网站 | 欧美日韩一本无线码专区 | 上原亚衣av一区二区三区 | 国产精品黑色丝袜久久 | 免费毛片一区二区三区亚女同 | 国产女爽爽精品视频天美传媒 | 国产免费a∨片同性同志 | 精品成人免费一区二区 | 女同亚洲精品一区二区三 | 91最新视频在线观看 | 午夜性色一区二区三区不卡视频 | 黄色精品视频 | 久天啪天天久久99久孕妇 | 992tv成人国产福利在线 | 国产jjizz一区二区三区老人 | 蜜臀久久| 黄色网页免费在线观看 | 久久免费视频网站 | 亚洲a综合一区二区三区 | 亲子乱一区二区三区 | 顶级少妇做爰视频在线观看 | 日产精致一致六区麻豆 | 丰满少妇大叫太大太粗 | 国产极品美女做性视频 | 亚洲无砖砖区一二区免费 | 国产高清在线精品一区小说 | 亚洲国产日韩成人a在线欧美 | 国产91极品白丝呻吟娇喘 | 日韩精品网址 | 国产一区二区成人 | 色噜噜狠狠一区二区三区狼国成人 | 嫩草视频免费观看 | 木下凛凛子中文字幕亚洲 | 日本一本一区二区免费播放 | 一a级毛片 | 窝窝午夜看片成人精品 | 日韩欧美在线中文字幕 | 成人理论片 | 久久亚洲欧美国产精品乐播 | 性欧美老妇另类xxxx | 乱人伦中文字幕成人网站在线 | 天天天天做夜夜夜夜做无码 | 91人网站免费 | 成人啪啪一区二区三区 | 青青草视频观看 | 日本91在线 | 亚洲天砖砖区免费 | 色屁屁www免费看欧美激情 | 久久婷婷综合缴情亚洲狠狠 | 少妇的丰满人妻hd高清 | av免费黄色 | 久久精品成人免费观看 | 日日干b | 欧美一级性生活 | 五月天激情社区 | 久久久久久久久久久久 | 免费人成视频在线视频网站 | 欧美日韩激情在线一区二区三区 | 久久99精品久久久久婷婷 | 日日插插 | 一级少妇性色生活片免费 | 8090理论片午夜理伦片 | 耽肉高h喷汁呻吟j产奶视频 | 亚洲欧洲视频在线 | 涩涩久久 | 亚洲国产天堂久久久久久 | 人妻激情偷乱视频一区二区三区 | 毛片大全真人在线 | 亚洲欧美大片 | 国产精品一区二区羞羞答答 | 俄罗斯大胆熟少妇ⅹ╳bbww | 久久这里 | 国产乱子影视频上线免费观看 | 国产精品美女久久久m | 在线无码av一区二区三区 | 草草影院精品一区二区三区 | 4hu四虎永久免费地址ww416 | 精品毛片一区二区 | 丁香五月网久久综合 | 久久久久久久国产视频 | 69色在线 | 高清视频一区二区 | 久草新免费| 国产色综合久久无码有码 | 国产精品偷伦一区二区 | 蜜桃91丨九色丨蝌蚪91桃色 | 九热视频在线观看 | 性一交一乱一伦在线播放 | 亚洲人成网站在线播放无码 | 国产亚洲精品久久久久久青梅 | 伊人在线视频 | 亚洲成a人v影院色老汉影院 | 欧美jjzz| 欧美a级黄色片 | 国产午夜激无码av毛片 | 日韩欧美在线视频免费观看 | 亚洲a无码综合a国产av中文 | 99热在 | 欧美一区二区三区小说 | 男人激烈吮乳吃奶视频免费 | 午夜福利体验免费体验区 | 亚洲性色av性色在线观看 | 亚洲国产欧美日本视频 | 亚洲欧美日韩精品久久亚洲区 | 欧美视频一区在线 | 伊人网av| 国产毛毛片一区二区三区四区 | 免费国产午夜视频在线观看 | 亚洲欧美国产日本 | 特大巨黑吊av在线播放 | 欧美日韩国产黄色 | 日韩加勒比无码人妻系列 | 在线观看欧美黄色 | 日韩国产精品无码一区二区三区 | 男女啪啪高潮无遮挡免费动态 | 婷婷国产一区二区三区 | 热99re久久国免费超精品首页 | 国产一区日韩二区欧美三区 | 肥婆毛片视频 | 免费人成视频网站在线观看18 | 国产chinese| 亚洲精品无码你懂的 | 人人妻人人澡人人爽欧美二区 | 少妇做爰xxxⅹ性视频 | 国产极品精品自在线 | 亚洲另类伦春色综合 | 亚洲va欧美va久久久久久久 | 毛片com| 女性自慰网站免费看ww | 真人无遮挡18禁免费视频 | 一级特黄特色的免费大片视频 | 日日夜夜影院 | 羞羞视频在线网站观看 | 老子影院无码午夜伦不卡 | 97视频入口 | 四虎永久免费在线观看 | 成人永久免费 | 大屁股人妻女教师撅着屁股 | 伊甸园精品99久久久久久 | 欧美69wwwcom| 男子天堂av | 国产又黄又猛又粗又爽的小说网站 | 亚洲精品国产精品乱码视色 | 蜜桃网av | 无码人妻日韩一区日韩二区 | 久久久国产精品人人片 | 国内揄拍国内精品久久 | 精品国产av无码一区二区三区 | 国语对白做受69 | 久久精品国产亚洲精品 | 教师夫妇交换刺激做爰小说 | 午夜视频在线观看一区二区 | gogo西西人体大尺度大胆伊人 | 一区二区三区在线免费看 | 日韩欧美亚洲精品 | 亚洲中文无码mv | 欧美在线观看一区 | 成人欧美一区二区三区黑人一 | 精品无码免费专区毛片 | 日韩成av人片在线观看 | 日韩欧美一区天天躁噜噜 | 欧美第3页 | 国产亚洲精品久久久久久小舞 | 国内精品中文字幕 | 日韩视频在线观看一区 | 欧美巨大黑人极品精男 | 久久精品中文字幕第一页 | 小sao货水好多真紧h无码视频 | 日韩大片免费看 | 亚洲曰本av在线天堂 | 欧美v日韩v亚洲v最新在线 | 国产亚洲综合区成人国产系列 | 国产a√精品区二区三区四区 | 日韩在线视频看看 | 日韩美 | 亚洲视频无码高清在线 | 欧美又大又硬又粗bbbbb影院 | 三浦惠理子aⅴ一二三区 | 亚洲毛片不卡av在线播放一区 | 日韩美在线观看 | 99碰碰| 国产尤物在线视频 | 日本少妇久久久 | 一道本伊人 | 午夜三级a三级三点自慰 | 无码专区天天躁天天躁在线 | 成年人免费黄色片 | 国产激情久久久久久熟女老人 | 国产欧美一区二区三区网站 | 99无码精品二区在线视频 | 伊人久久大香线蕉综合bd高清 | 99精品久久久久 | 91精品国产综合久久久亚洲 | 成人国产精品免费观看动漫 | 亚洲国产中文曰韩丝袜 | 成人做爰9片免费视频 | 97人人看 | 欧美日本特级婬片视频 | 免费成人高清在线视频 | 色中色影视 | 无码动漫性爽xo视频在线观看 | 自拍视频国产 | 亚洲午夜久久久久久噜噜噜 | 国产乱子伦视频在线观看 | 我们好看的2018视频在线观看 | 成人激情片| 亚洲天堂avav | 国产乱人伦av在线a麻豆 | 免费观看早川濑里奈av | 国产一区二区中文字幕 | 豆国产97在线 | 亚洲 | 99亚洲精品在线 | 中文字幕av免费专区 | 国产午夜三级一区二区三桃花影视 | 成人国产精品色哟哟 | 亚洲人的天堂 | 99国产精品一区二区三区 | 欧美视频中文字幕 | 欧洲 亚洲 国产图片综合 | 妇挑战三黑人4p日本中文字幕 | 国产精品久久久久久久久搜平片 | 欧美三级午夜理伦三级中视频 | 看全色黄大色黄女片爽名优 | 4hu亚洲人成人无码网www电影首页 | 国产精品久久久久久一区二区三区 | 日射精情感性色视频 | 日本精品巨爆乳无码大乳巨 | 亚洲天堂美女 | 日本少妇裸体做爰高潮片 | 久久久久久久国产精品影视 | 正在播放国产大学生情侣 | 国产精品91久久久 | 欧美乱大交做爰xxxⅹ性3 | 色偷偷av男人的天堂 | 欧美日韩在线视频 | 天堂网久久 | 国产成人无码区免费内射一片色欲 | 亚洲精品卡2卡3卡4卡5卡区 | 国产无遮挡免费观看视频网站 | 亚洲欧美日韩国产另类电影 | 日本肉体xxxx裸交 | 91av国产视频 | 任你躁在线精品免费 | 乱码av麻豆丝袜熟女系列 | 日日射天天射 | 亚洲日韩中文字幕在线播放 | 欧美一本乱大交性xxxⅹ | 久久精品视频在线看4 | 亚洲丁香五月激情综合 | 日本在线看片免费人成视频1000 | 国产一二精品 | 国产午夜精品影院 | 久久人妻无码中文字幕 | 亚洲色成人四虎在线观看 | 最新亚洲人成网站在线影院 | 天天躁日日躁狠狠躁av中文 | 性欧美在线视频观看 | 婷婷丁香六月激情综合在线人 | 亚洲欧美日韩综合久久 | 少妇挑战三个黑人惨叫4p国语 | 精品一区二区三区四区外站 | 日本三级全黄少妇三2019 | 日日躁夜夜躁白天躁晚上躁91 | 中文字幕a片视频一区二区 成年无码av片在线 丝袜国产一区av在线观看 | 精品国偷自产国产一区 | 日韩一区二区在线观看视频 | 欧美国产激情18 | 欧洲美熟女乱又伦免费视频 | 色婷婷成人 | 日韩成人黄色 | 久久99精品国产.久久久久 | 人人做人人爱夜夜爽少妇 | 狠狠色综合色综合网站久久 | 国产欧美一区二区精品婷婷 | 日韩成人av在线 | 中字幕视频在线永久在线 | 免费欧美精品 | 欧美成人精品在线 | 日韩av福利 | 中文字幕热久久久久久久 | 亚洲不卡av不卡一区二区 | 少妇又紧又色又爽又刺激视频 | 黄色毛片视频免费 | 天堂tv在线观看中文 | 亚洲人成无码网站在线观看野花 | 黄片毛片在线免费观看 | 色老头av亚洲一区二区男男 | 超碰在线97免费 | 在线 | 一区二区三区四区 | 2018年亚洲欧美在线v | 亚洲精品偷拍视频 | 亚洲综合性 | 日韩不卡二区 | 97国产在线观看 | 五月婷婷激情综合网 | 国产美女av在线 | 亚洲欧美日韩国产精品一区 | 天天操夜夜骑 | 国产欧美久久久精品影院 | 日本一区二区三区免费高清 | 亚洲不卡视频在线观看 | 无码av波多野结衣 | 88xx成人永久免费观看 | 无遮挡高潮国产免费观看 | 免费无码黄十八禁网站在线观看 | 久久国产欧美成人网站 | av一区二区三区在线 | 久久丫亚洲一区二区 | 国产精品xxx大片免费观看 | 日日躁夜夜躁白天躁晚上 | 色av中文字幕| 国产乱人内谢69xxxx亚洲 | 娜娜麻豆国产电影 | 欧美人与性禽动交精品 | 午夜无人区免费网站 | 极品大长腿啪啪高潮露脸 | 少妇被黑人4p到惨叫在线观看 | 国产91av视频在线观看 | 国产精品久久久久久久久久大牛 | av黄瓜 | 日本边添边摸边做边爱的网站 | 久久免费视频6 | 免费看婬乱a欧美大片 | 国产自偷在线拍精品热 | 国产精品原创av片国产日韩 | 无码亲近乱子伦免费视频在线观看 | 日韩精品一区二区三区四区新区 | 尤物国精品午夜福利视频 | 成人同人动漫免费观看 | 曰韩无码二三区中文字幕 | 樱桃空空人妻无码内射 | 午夜狠狠干 | 丰满岳妇乱中文字幕 | 人人av在线 | 十八禁在线观看无遮挡 | 亚洲区小说区图片区qvod | 久久一区二区三区四区 | 婷婷五月色综合 | 欧美视频在线免费看 | 亚洲第一页在线视频 | 欧美日国产 | 99在线免费视频 | 色屁屁草草影院ccyycom | 少妇肉麻粗话对白视频 | 无遮挡又爽又刺激的视频 | 天天射天天干天天 | 毛片手机在线观看 | 尤物193在线人妻精品免费 | 国产无遮挡a片又黄又爽网站 | 制服丝袜人妻综合第一页 | 国产高清在线不卡 | 日韩精品无码一区二区三区 | 欧美成人精品一区二区三区 | 欧美日韩一区二区在线 | 国产亚洲精品yxsp | 国产精品人人爽人人做我的可爱 | 国产三级a毛视频在线观看 免费黄色av网站 | 国产精品无码av在线一区 | 日本免费区 | 青草免费 | 内射人妻少妇无码一本一道 | 水蜜桃av导航 | 中国偷拍老肥熟露脸视频 | 亚洲国产精品激情综合图片 | 99精品国产综合久久久久五月天 | 欧美人性生活视频 | 国产日本高清电视 | 亚洲 欧美 国产 动漫 综合 | 精品美女视频 | 亚洲精品综合欧美一区二区 | 亚洲成人一区 | 国产精品99久久久久人最新消息 | 亚洲制服另类无码专区 | 日韩av在线播放网址 | 久久久久无码精品国产人妻无码 | 狠狠色伊人亚洲综合成人 | 伊色综合久久之综合久久 | 最新中文字幕免费看 | 精品 亚洲 无码 自拍 另类 | 真人与拘做受免费视频 | 国产自产对白一区 | 久久加久久 | a√天堂资源在线 | 91综合在线观看 | 午夜精彩视频 | 国产传媒一区 | 久久精品国产国产精 | 精品人伦一区二区三区蜜桃网站 | 亚洲熟女中文字幕男人总站 | 乱码一区二区 | 国产呦交精品免费视频 | 天天干导航| 中国女人学生69xxx视频 | 成片免费观看视频999 | 99久在线国内在线播放免费观看 | 国产yw855.c免费观看网站 | 国产成人精品亚洲午夜 | 日本曰又深又爽免费视频 | 天天插天天干天天 | 免费无码又爽又刺激网站直播 | 在线91视频| 久久精品国产一区二区 | 日韩1| 性av盈盈无码天堂 | 亚洲国产成人精品青青草原导航 | 国语对白av | 18禁黄久久久aaa片广濑美月 | 精品人妻午夜一区二区三区四区 | 免费观看的无遮挡av | 国产中文字幕一区二区 | 国产精品毛片久久久 | 久久精品人妻无码一区二区三区 | 又大又硬又黄的免费视频 | 欧美精品videossex另类日本 | 亚洲黄色片视频 | 久久成人激情视频 | 国产又粗又猛又爽又黄的视频一 | 少妇白浆高潮无码免费区 | 伊人精品 | 久久久久久久久无码精品亚洲日韩 | 日批短视频 | 秋霞午夜成人鲁丝片午夜精品 | 狼人综合伊人网 | 成人妇女免费播放久久久 | 一区二区在线免费播放 | 999精品视频在这里 亚洲色婷婷六月亚洲婷婷6月 | 中文字幕第88页 | 四虎永久在线精品视频免费观看 | 中文字幕av网站 | 国产午夜人做人免费视频网站 | 自拍偷在线精品自拍偷无码专区 | 久久aⅴ免费观看 | 国产婷婷色一区二区三区在线 | 国产精品久久久久久久久久王欧 | 强奷漂亮饱满雪白少妇av | 欧美一区二区三区视频在线 | 久久久久人妻一区精品果冻 | 性无码专区一色吊丝中文字幕 | 国产精品无码一二区免费 | 天堂新版8中文在线8 | 亚洲熟女精品中文字幕 | 亚洲天堂网2018| 女生啪啪网站 | 日本50岁丰满熟妇xxxx | 国产精品国产三级国产专播品爱网 | 国产又爽又黄又刺激的视频 | 人妻熟女一区二区aⅴ图片 夜夜狠狠擅视频 | 国产精品视频大全 | 日韩一品道 | 成年av动漫网站久久 | 国产精品玖玖玖在线资源 | 五月天婷婷影院 | 国产传媒自拍 | 色欧美99| 日本黄漫动漫在线观看视频 | 东京热无码av一区二区 | 女人摸下面自熨视频在线播放 | 97人人模人人爽人人少妇 | 性色av蜜臀av | av不卡在线播放 | 2017av在线| 成人午夜av | 另类亚洲欧美专区第一页 | 精品少妇一区二区三区视频 | 尹人香蕉久久99天天拍久女久 | 99re6这里有精品热视频 | 亚洲阿v天堂在线2017免费 | 亚洲一一在线 | 国产精品久久久久久久久久嫩草 | 国产成人精品一区二区视频 | 国产小精品 | 99精品国产一区二区三区不卡 | jzjzjz亚洲丰满少妇 | 日韩亚洲国产高清免费视频 | 绝顶丰满少妇av无码 | 亚洲精品日韩一区二区小说 | 蜜柚av久久久久久久 | 国产美女色诱视频又又酱 | 狠狠色狠狠爱综合蜜芽五月 | 亚洲欧美色中文字幕在线 | 日本黄页网址 | 日韩中文字幕影院 | 最新毛片网站 | 欧美老熟妇xb水多毛多 | 成品人片a91观看入口888 | 免费的av网址 | 精品国产一区二区三区四区 | 久久九九51精品国产免费看 | 日产av在线 | 国产男女猛烈无遮挡免费网站 | 亚洲乱码无码永久不卡在线 | 国产在线观看免费视频软件 | 99蜜桃臀久久久欧美精品网站 | 爆乳女仆高潮在线观看 | 日本爽快片100色毛片 | 久久99精品国产麻豆宅宅 | 日韩在线精品强乱中文字幕 | 国产人碰人摸人爱视频 | 日日躁狠狠躁夜夜躁av中文字幕 | 伊人久久大香线蕉亚洲五月天 | 亚洲人成网77777亚洲色 | 中文字幕精 | 国产精品国产三级国产不产一地 | ww欧日韩视频高清在线 | 亚洲一区高清视频 | 天堂在线国产 | 妺妺窝人体色www在线 | 7777久久亚洲中文字幕 | 午夜精品免费观看 | 国产sm主人调教女m视频 | 激情五月婷婷久久 | 国产福利一区二区在线观看 | 欧美亚洲91| 亚洲欧美综合精品二区 | 91亚洲乱码卡一卡二卡新区豆 | 无码小电影在线观看网站免费 | 国产精品jk白丝av网站 | 午夜亚洲视频 | 四虎影视4hu4虎成人 | 任我橹这里只有精品 在线视频 | 国产精品久久久久久久久久久久久久 | 午夜黄色小视频 | 国产无限制自拍 | 亚洲色一区二区三区四区 | 五月婷婷激情久久 | 99天堂网| 欧洲性开放大片免费无码 | 久久精品国产99久久久小说 | 成人在线免费视频观看 | 教师夫妇交换刺激做爰小说 | 久久久久国产精品麻豆ar影院 | 色www视频永久免费 中国一级黄色毛片 | 久久久久人妻一区二区三区vr | 67194欧洲少妇午夜啪啪 | 成人国产精品秘片多多 | 國产一二三内射在线看片 | 无码专区一va亚洲v专区在线 | 台湾一级特黄aa大片免费看 | 青草视频在线观看视频 | 青青伊人国产 | 日韩大片av | 超碰97在线资源站 | 精品av熟女一区二区偷窥海滩 | 999在线视频| 日韩精品极品免费视频 | 一级黄色一级黄色 | 咪咪av | 亚洲h精品动漫在线观看 | 欧美激情一区二区一级黑人片 | 日韩av片无码一区二区三区不卡 | 你懂的最新网址 | 国产日产精品一区二区三区四区 | 天堂网在线www中文 噜噜噜在线观看免费视频日本 | 日韩免费专区 | 国产成人综合95精品视频 | 又粗又黄又爽视频免费看 | 欧美人与物ⅴideos另类 | 日韩午夜激情视频 | 久久精品99av高久久精品 | 97超碰人人人人人人少妇 | 亚洲九九九九 | 少妇2做爰交换朴银狐 | 国产毛片毛片毛片毛片 | 亚州av免费 | 特级片网站 | 久久精品成人无码观看不卡 | 国产一区二区网站 | 日韩人妻系列无码专区 | 国产精品久久人人做人人爽 | 狠狠色丁香婷婷综合潮喷 | 无码中文精品专区一区二区 | 91精品免费视频 | 欧美精品免费看 | 久久网一区 | 日韩区在线 | 亚洲国产精品综合久久网各 | 国产精品日韩高清伦字幕搜索 | 亚洲自拍一区在线 | 激情综合亚洲色婷婷五月app | 午夜久草| 性欧美狂欢俱乐部xxxxx | 99久久久国产精品免费蜜臀 | 熟妇的奶头又大又粗视频 | 91久久国产综合久久 | 一本一本久久a久久综合精品 | 奇米影视奇奇米色狠狠色777 | 妹子色综合 | 亚洲欧美福利 | 欧美韩国日本在线观看 | 久久精品中文字幕第一页 | 日产精品久久久久久久蜜臀 | 真人性囗交69视频 | 人妻体内射精一区二区三区 | 97色伦图片97综合影院 | 国内精品视频一区 | a级毛片免费观看视频 | 日日操夜 | 欧美 日韩 亚洲 一区 | 亚洲成人福利 | 动漫av在线播放 | 国产精品永久 | 国产免费福利视频 | 日韩精品播放 | 国产在线 | 欧洲 | 国产精品久久久久蜜芽 | 国产精品亚洲欧美 | 亚洲精品天堂久久久老牛 | 免费伊人 | 亚洲精品夜夜夜 | 欧美日韩免费网站 | 91成人在线看 | 天天综合天天做 | 激情综合一区二区三区 | 久久狠狠一本精品综合网 | 激情六月丁香婷婷 | 久久精品无码精品免费专区 | 亚洲成a人片77777精品 | 久久久久久综合网 | 色五婷婷 | 插我一区二区在线观看 | 中文字幕69 | 久久亚洲精品无码网站 | 久久久欧美国产精品人妻 | 年代肉高h喷汁呻吟快穿 | 无码中字出轨中文人妻中文中 | 欧美激情一区二区视频 | www.999精品| 中文字幕亚洲精品在线 | 亚洲精品不卡在线观看 | 日本免费网址 | 成年视频免费高清在线看 | 国产高清在线精品 | 色av网站 | 国产成人精品三级在线影院 | 亚洲日韩午夜av不卡在线观看 | 日日夜夜狠狠干 | 天天爱夜夜做 | 国产成a人亚洲精品无码樱花 | 久久99激情 | 久久不见久久见www日本网 | 超碰97人人模人人爽人人喊 | 国产精品伦一区 | 免费人成自慰网站 | 日韩欧美在线观看 | www.五月婷 | 国产午夜福利内射青草 | 久久国产精品人妻一区二区 | 91嫩草香蕉 | 欧美性猛交xxx乱久交 | 欧美大片xxx | 久久精品成人免费国产片小草 | 九九热在线视频免费观看 | 亚洲精品1卡2卡三卡4卡乱码 | 日韩精品一区在线观看 | 日韩精品欧美精品 | 免费无码又爽又黄又刺激网站 | 一个人看的www日本动漫图片 | 国产三级精品一区二区三区视频 | 国产午夜福利精品一区 | а天堂中文在线官网 | 第一福利视频导航 | 亚洲精品高潮呻吟久久av | 91挑色| 国产精品一区免费看8c0m | 九九伊人八戒 | 亚洲天堂性 | 久久裸体视频 | 欧美视频精品在线观看 | 伊人影视网 | 亚洲性日韩精品一区二区三区 | 人妻系列无码专区无码中出 | 少妇夜夜爽夜夜春夜夜高潮 | 少妇厨房愉情理9伦片视频 日韩av无码一区二区三区 | 91精品国产乱码麻豆白嫩 | 成人午夜精品无码区久久 | 亚洲精一区 | 亚洲精美视频 | 亚色中文网| 另类二区| 国产精品久久久久久超碰 | 中文字幕无码乱人伦在线 | 国产在线视欧美亚综合 | 色综合激情网 | 业余 自由 性别 成熟视频 视频 | yy6080午夜 | 国产aaa| 日韩人妻少妇一区二区三区 | 凹凸成人精品亚洲精品密奴 | 久久香蕉热 | 亚洲精品无码aⅴ中文字幕蜜桃 | 亚洲精品久久久乳夜夜欧美 | 亚洲妇熟xx妇色黄蜜桃 | 成人一级视频在线观看 | 手机av免费在线观看 | 欧美性福利 | 精品国产sm最大网站蜜芽 | 亚洲精品在看在线观看 | 人妻系列无码专区久久五月天 | 亚洲欧美精品 | 看全色黄大色黄大片大学生 | 最新国自产拍av | 四虎在线观看网站 | av大片在线免费观看 | 高清偷自拍第1页 | 一本色道久久88精品综合 | 在线播放无码字幕亚洲 | 免费高清欧美一区二区三区 | 日韩精品亚洲人旧成在线 | 国产精品99久久久久久似苏梦涵 | 色中文字幕在线观看 | 国产寡妇树林野战在线播放 | 欧美绝顶高潮抽搐喷水合集 | 无码专区天天躁天天躁在线 | 成人影院yy111111在线观看 | 99国内精品久久久久久久夜夜嗨 | 影音先锋无码a∨男人资源站 | 中文字幕乱码一区二区免费 | 黄频视频大全免费的国产 | 久久综合给合久久国产免费 | 青青草91青娱盛宴国产 | 97人人爱 | 日韩中文在线视频 | 揉捏奶头高潮呻吟视频 | 在线一区二区视频 | 日操夜夜操 | 成人亚洲a片v一区二区三区蜜臀 | 久久人妻国产精品 | 女人高爱潮aa级毛片视频免费 | 农村女人乱淫免费视频麻豆 | 三级动漫在线观看 | av高清网站 | 久久久久日本精品一区二区三区 | 青久久 | 91porn国产成人福利 | 国模欢欢大尺度啪啪 | 日麻批免费视频 | 青青草视频在线观看视频 | 久草免费看 | 欧洲成人一区二区 | 久久综合伊人 | 欧美国产精品日韩在线 | 一级性视频 | av在线免费观看网站 | 亚洲欧美综合人成在线 | 全部免费a级毛片 | 青草伊人久久综在合线亚洲 | 操碰在线视频 | 在线精品一区二区三区 | 日韩欧美国产激情 | 久久久国产精品网站 | 亚洲男人第一网站 | 精品精品国产高清a毛片牛牛 | 麻豆精品国产精华精华液好用吗 | 综合亚洲欧美 | 亚洲 欧洲 日韩 综合色天使 | 国产免费一区二区三区在线播放 | 欧美7777 | 亚洲一区二区福利 | 欧美一级成人 | avhd101高清在线迷片麻豆 | 国产粉嫩小泬在线观看泬 | 欧美中文字幕在线 | 在线va无码中文字幕 | 国产精品亚洲a | 中文有无人妻vs无码人妻激烈 | 欧美人与禽2o2o性论交 | 国产高清视频在线观看三区 | 精品亚洲一区二区三区在线观看 | 精品久久久久久人妻无码中文字幕 | 网站一区二区三区 | 久久九九国产 | 精品深夜av无码一区二区 | 秋霞国产午夜伦午夜福利片 | 国产无套精品一区二区三区 | www久久只有这里有精品 | 国产全是老熟女太爽了 | 欧美第十页 | 巴西美女鲜嫩bbwbbw | 国产成人精品午夜片在线观看 | 欧产日产国产蜜网站 | 激情文学小说区另类小说同性 | 久久国产劲爆∧v内射-百度 | 国精产品一品二品国在线 | 亚洲欧美v| 国产色诱视频在线观看 | 国产精品久久人妻无码hd毛片 | 啊啊啊亚洲 | 少妇白浆高潮无码免费区 | 亚洲性色成人av天堂 | 午夜dj高清免费观看视频 | 最新欧美精品一区二区三区 | 久久播我不卡 | 亚洲天堂网在线视频 | 国产亚洲精品久久yy50 | 国产成_人_综合_亚洲_国产 | 日韩爱爱网 | 国产成人无码va在线播放 | 日韩精品免费一区二区三区四区 | 最近日韩免费视频 | 亚洲一区二区三区av激情 | 天堂视频在线观看免费 | 亚洲欧洲自拍拍偷午夜色 | 亚洲第九十七页 | 男女啪啪永久免费网站 | 精品美女一区二区 | 久久久久久久久久久综合日本 | 超91在线 | 色综合久久综合欧美综合网 | 欧美精品日日鲁夜夜添 | 99热这里只有是精品2 | 国产精品自拍一区 | 亚洲乱 亚洲乱 亚洲 | 亚洲欧美色αv在线影视 | 国产精品极品美女自在线观看免费 | 亚洲第一女人av | 国产午夜激情视频 | 少妇性l交大片7724com | 黄色免费视屏 | 色臀av | 香蕉久热 | 夜夜艹逼 | 国产专区精品 | 丰满尤物白嫩啪啪少妇 | 国产成人亚洲精品无码电影不卡 | 国产乱视频 | 在线观看成人年视频免费 | 午夜1000集 | 久草综合在线 | 69天堂人成无码麻豆免费视频 | jizzjizz中国精品麻豆 | 日本瑟瑟网站 | 黄色av网站网址 | 欧美人妻少妇精品久久黑人 | sm免费人成虐网站 | 亚洲伦乱 | 激情五月中文字幕 | 免费a视频在线观看 | 国产激情av | 久久精品女同亚洲女同 | 99久久精品国产免费看 | 国产香蕉久久精品综合网 | 久久精品香蕉视频 | 2019国产精品 | 成av免费大片黄在线观看 | 免费毛片基地 | 精品视频在线一区二区 | 亚洲a视频在线观看 | 天天爽夜夜爽人人爽88 | 日本少妇一级 | 天天干中文字幕 | 久久成人黄色 | 日韩区在线观看 | 色婷婷激情 | 午夜激情亚洲 | 强伦人妻一区二区三区视频18 | 日日鲁夜夜如影院 | 亚洲国产综合精品中久 | 亚洲精品一区二区丝袜图片 | 亚洲免费高清视频 | 欧美国产一区二区三区激情无套 | 国产白嫩护士被弄高潮 | 男人av影院 | 天天做天天爱天天爽综合网 | 成视人a免费观看 视频 | 欧美又粗又深又猛又爽啪啪 | 天天夜夜草 | 日韩精品三级 | 宅女噜噜66国产精品观看免费 | 91av手机在线 | 久久狠狠中文字幕2017 | 伴郎粗大的内捧猛烈进出视频观看 | 日本久久不卡 | 亚洲网站在线观看 | 加勒比一区二区无码视频在线 | 国产黑丝一区二区 | 狠狠色综合激情丁香五月 | 天天爽夜夜爽人人爽一区二区 | 亚洲欧洲专线一区 | 中文字幕精品亚洲无线码二区 | 茄子香蕉视频 | 亚洲国产精品成人av在线 | 无遮掩60分钟从头啪到尾 | 玩肥熟老妇bbw视频 后入内射国产一区二区 | 在线观看无码的免费网站 | 成人伊人 | 一区二区三区日本久久九 | 在线观看亚洲视频 | 特黄 做受又硬又粗又大视频 | 一区二区三区欧美在线 | av解说在线观看 | 欧美99久久精品乱码影视 | 国产超碰人人爽人人做 | 插美女网站 | 国产精品免费_区二区三区观看 | 国产特黄特色大片免费视频 | 免费一级全黄少妇性色生活片 | 高清同性男毛片 | 欧美乱人伦视频在线观看 | 欧美日韩一区二区综合 | 在线观看网站av | 亚洲精品宾馆在线精品酒店 | 欧美理论片在线 | 手机在线看永久av片免费 | 97se狠狠狠综合亚洲狠狠 | 黄网站免费永久在线观看网址 | 乱人伦人妻中文字幕在线 | 97超碰碰碰| 丰满少妇xbxb毛片日本 | 精品成人免费一区二区在线播放 | 青娱乐手机在线 | 色婷婷综合久久久久中文一区二区 | 一级片在线观看免费 | 波多野结衣 黑人 | 男女爱爱好爽视频免费看 | 色五月激情五月亚洲综合考虑 | 国产精品久久久久久久久免费看 | 四川丰满少妇毛片新婚之夜 | 四虎影院在线免费观看视频 | 亚洲成aⅴ人片在线观看无app | 日韩欧美一区二区三区永久免费 | 在线观看欧美成人 | 国内精品免费久久久久软件 | 成年男女免费视频网站无毒 | 久久www免费人成看片美女图 | 四虎网址在线 | 中文二区| 天天躁狠狠躁狠狠躁性色牛牛影视 | 久久婷婷五月综合色俺也想去 | 成人午夜亚洲精品无码区 | 欧美午夜精品久久久久久人妖 | 国产99在线 | 亚洲 | 日本中文字幕高清 | 久久精品国产999久久久 | 色一情一乱一伦一区二区三区 | 久久精品视频在线观看 | 青青青国产免a在线观看 | 9l视频自拍九色9l视频九色 | 伊人春色av | 国产aⅴ老牛影视 | 久久22 | 亚州国产精品视频 | 国产精品欧美亚洲 | 国产黄色免费片 | 欧美黄色a级大片 | 亚洲香蕉视频综合在线 | 中文字幕无码精品亚洲资源网久久 | 91视频中文字幕 | 久久妇女高潮喷水多 | 无遮挡做爰激吻国产999 | 日本精品人妻无码77777 | 97超碰精品成人国产 | 日本一区二区在线看 | 欧美图片小说 | 亚洲尤物在线 | 一个人看的www免费视频在线观看 |