亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? icqworks.pas

?? 本程序是轉(zhuǎn)載的
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
unit ICQWorks {TICQClient, TICQDb contants & procedures};
{(C) Alex Demchenko(alex@ritlabs.com)}

{$R-}                           //Remove range checking
{$DEFINE USE_ASM}               //Remove this line to use pascal code instead of assembler (where it's possible)

interface
uses
  Windows, Classes;

const
  MAX_DATA_LEN = 8192;          //Maximum packet size


  //Online statuses
  S_ONLINE      = $00000000;    //Online
  S_INVISIBLE   = $00000100;    //Invisible
  S_AWAY        = $00000001;    //Away
  S_NA          = $00000005;    //N/A
  S_OCCUPIED    = $00000011;    //Occupied
  S_DND         = $00000013;    //Do Not Disturb
  S_FFC         = $00000020;    //Free For Chat

  SF_BIRTH      = $00080000;    //Birtday

  //Flags used with statuses
  S_SHOWIP      = $00020000;    //show ip (for older clients), IP edit removed in ICQ2000a+ :)
  S_WEBAWARE    = $00030000;    //do not show status from the www
  S_ALLOWDCONN  = $00000000;    //allow direct connection with everyone
  S_ALLOWDAUTH  = $10000000;    //allow direct connection upon authorization
  S_ALLOWDLIST  = $20000000;    //allow direct connection with users in contact list

  //Message types
  M_PLAIN         = $01;        //Plain message
  M_CHAT          = $02;        //Chat request
  M_FILE          = $03;        //File request
  M_URL           = $04;        //URL
  M_AUTH_REQ      = $06;        //Auth request
  M_AUTH_DENIED   = $07;        //Deny auth
  M_AUTH_GIVEN    = $08;        //Authorize
  M_WEB_PAGE      = $0D;
  M_EMAIL_EXPRESS = $0E;
  M_CONTACTS      = $13;
  M_ADVANCED      = $1A;        //Seems to be an advanced-msg type (contacts, file requests, etc)

  //Genders
  GEN_FEMALE    = 1;            //Gender: Female
  GEN_MALE      = 2;            //Gender: Male

  //CLI_TOICQSRV commands
  CMD_ACKOFFMSG = $3E;
  CMD_REQOFFMSG = $3C;
  CMD_REQINFO   = $7D0;

  TFLAPSZ: Word = 6;            //Size of FLAP header
  TSNACSZ: Word = 10;           //Size of SNAC header

  //SRV UIN Flags
  U_NORMAL         = $0000;     //Normal list entry
  U_VISIBLE_LIST   = $0002;     //User in visible list
  U_INVISIBLE_LIST = $0003;     //User in invisible list
  U_IGNORE_LIST    = $000e;     //User in ignore list


  ACC_NORMAL      = $0;         //Normally accepted
  ACC_NO_OCCUPIED = $9;         //Not accepted, occupied
  ACC_NO_DND      = $A;         //Not accepted, dnd
  ACC_AWAY        = $4;         //Accepted but away
  ACC_NA          = $E;         //Accepted but NA
  ACC_CONTACTLST  = $C;         //Accepted to contact list (no blink in tray)

  //Auto message requests
  GET_AWAY        = $E8;        //Get away message
  GET_OCCUPIED    = $E9;        //Get occupied message
  GET_NA          = $EA;        //Get N/A message
  GET_DND         = $EB;        //Get DND message
  GET_FFC         = $EC;        //Get FFC(Free For Chat) message

  //Buddy types
  BUDDY_NORMAL    = $0000;      //A normal contact list entry
  BUDDY_GROUP     = $0001;      //A larger group header
  BUDDY_IGNORE    = $000e;      //A contact on the ignore list
  BUDDY_INVISIBLE = $0003;      //A contact on the invisible list
  BUDDY_VISIBLE   = $0002;      //A contact on the visible list

  //SSL errors
  ERRSSL_NOTFOUND = $0002;      //User not found
  ERRSSL_EXISTS   = $0003;      //Added buddy already exists
  ERRSSL_AUTH     = $000e;      //User not authorized
  ERRSSL_OTHER    = $000a;      //Other SSL error
  ERRSSL_NOERROR  = $0000;      //No error (changed successfully)

  // Client Capabilities
  CAPS_ICQ           = $01;
  CAPS_ICQRTF        = $02;
  CAPS_ICQSERVERRELAY = $04;
  CAPS_2001          = $08;
  CAPS_2001a         = $10;

  ICQClientVer_Major = 1;       //Major version of component
  ICQClientVer_Minor = 19;      //Minor version of component
  ICQClientVER_Build = 'b';

type
  //File request record
  TFTRequestRec = record
    ReqType: Byte;
    ITime, IRandomID: LongWord;
    UIN: LongWord;
    Description: String;
    FileName: String;
    FileSize: LongWord;
    Seq: Word;
    Port: Word;
  end;

  //File start record
  TFTStartRec = record
    UIN: LongWord;
    FilesCount: LongWord;
    Current: Integer;
    Speed: LongWord;
  end;
  // File Send DC Record
  TSendFileRec = Record
    UIN:LongWord;
    Nick:String;
    Seq:Word;
    Files:TStrings;
    FilesCurrent:Integer;
    FilesCount:LongWord;
    FilePath:String;
    FileName:String;
    FileDescription:String;
    FileSize:LongWord;
    TotalSize:LongWord;
    Port:Word;
    Speed:Byte;
  End;
  pSendFileRec = ^TSendFileRec;

  // Port Range to support firewalls
  TPortRange = Record
    First:Word;
    Last: Word;
  End;

//Error types
  TErrorType = (ERR_SOCKET, ERR_INTERNAL, ERR_WARNING, ERR_PROXY, ERR_PROTOCOL, ERR_CONNTIMEOUT, ERR_LOGIN);

  //Proxy types
  TProxyType = (P_NONE, P_SOCKS4, P_SOCKS5, P_HTTPS, P_HTTP);

  //Info types
  TInfoType = (INFO_GENERAL, INFO_MORE, INFO_ABOUT, INFO_PASSWORD);

  //Database types, used in ICQDb.pas
  TDbType = (DB_ICQ, DB_MIRANDA);

  //Flap header
  PFlapHdr = ^TFlapHdr;
  TFlapHdr = record
    Ident: Byte;
    ChID: Byte;
    Seq: Word;
    DataLen: Word;
  end;

  //Snac header
  PSnacHdr = ^TSnacHdr;
  TSnacHdr = record
    Family: Word;
    SubType: Word;
    Flags: Word;
    ReqID: LongWord;
  end;

  //Raw packet
  PRawPkt = ^TRawPkt;
  TRawPkt = record
    Data: array[0..MAX_DATA_LEN - 1] of Byte;
    Len: Word;
  end;

  TThreadTimerTrigger = class(TThread)
  protected
    fInterval:LongInt;
    fOnTrigger:TNotifyEvent;
    Procedure Trigger;
    procedure Execute; override;
  Public
    Owner:TObject;

    Property Interval:LongInt read fInterval write fInterval;
    Property OnTrigger:TNotifyEvent read fOnTrigger write fOnTrigger;
  end;

  TTHreadTimer = Class(TObject)
  private
    fActive:Boolean;
    fInterval:LongInt;
    fOnTimer:TNotifyEvent;
    fTrigger:TThreadTimerTrigger;

    Procedure SetActive(Const IsActive:Boolean);
    Procedure SetInterval(Const aInterval:LongInt);
    Procedure SetOnTimer(Const aOnTimer:TNotifyEvent);
  public
    constructor Create;
    destructor Destroy; override;

    Property Enabled:Boolean read fActive write SetActive;
    Property Interval:LongInt read fInterval write SetInterval;
    Property OnTimer:TNotifyEvent read fOnTimer write SetOnTimer;
  end;

  //Filetransfer init call back function
  TOnFTInit = procedure(Sender: TObject; UIN: LongWord; FileCount, TotalBytes, Speed: LongWord; NickName: String) of object;
  TOnFTStart = procedure(Sender: TObject; StartRec: TFTStartRec; FileName: String; FileSize, Speed: LongWord) of object;
  TOnFTFileData = procedure(Sender: TObject; UIN: LongWord; Data: Pointer; DataLen: LongWord; LastPacket: Boolean) of object;

  TOnSendFileStart = Procedure(Sender: TObject; UIN: LongWord; SendFileRec: TSendFileRec) of Object;
  TOnSendFileData  = Procedure (Sender: TObject; UIN:LongWord; Data: Pointer;Var DataLen: LongWord; Var IsLastPacket: Boolean) of Object;
  TOnSendFileFinish= Procedure (Sender: TObject; UIN: LongWord; SendFileRec: TSendFileRec; Aborted:Boolean) of Object;

function IntToStr(Value: Int64): String;
function StrToInt(const Value: String): LongWord;
function IntToHex(Int: Int64; IntSize: Byte): String;
function HexToInt(Value: String): LongWord;
procedure ICQEncryptPass(SrcBuf: Pointer; BufLen: LongWord);
procedure ICQEncryptPassStr(var Pass: String);
function Swap16(Value: Word): Word;
function Swap32(Value: LongWord): LongWord;

{Low-level functions}
{-- Adding data --}
procedure PktAddData(Pkt: PRawPkt; Data: Pointer; DataLen: LongWord);
procedure PktAddArrBuf(Pkt: PRawPkt; Data: Pointer; DataLen: LongWord);
procedure PktInit(Pkt: PRawPkt; Channel: Byte; var Seq: Word);
procedure PktInitRaw(Pkt: PRawPkt);
procedure PktFinal(Pkt: PRawPkt);
procedure PktSnac(Pkt: PRawPkt; Family, SubType: Word; ID: LongWord; Flags: Word);
procedure PktInt(Pkt: PRawPkt; Value: LongWord; IntSize: Byte);
procedure PktLInt(Pkt: PRawPkt; Value: LongWord; IntSize: Byte);
procedure PktStr(Pkt: PRawPkt; const S: String);
procedure PktLStr(Pkt: PRawPkt; const S: String); overload;
procedure PktLStr(Pkt: PRawPkt; S: LongWord); overload;
procedure PktWStr(Pkt: PRawPkt; const S: String);
procedure PktDWStr(Pkt: PRawPkt; const S: String);
procedure PktLNTS(Pkt: PRawPkt; const S: String);
procedure PktLLNTS(Pkt: PRawPkt; const S: String);
procedure PktTLV(Pkt: PRawPkt; T, L: Word; V: LongWord); overload;
procedure PktTLV(Pkt: PRawPkt; T: Word; const V: String); overload;
procedure PktTLV(Pkt: PRawPkt; T, L: Word; V: Pointer); overload;

{-- Extracting data --}
function GetInt(Pkt: PRawPkt; IntSize: Byte): LongWord;
function GetLInt(Pkt: PRawPkt; IntSize: Byte): LongWord;
function GetStr(Pkt: PRawPkt; StrLen: Word): String;
function GetTLVStr(Pkt: PRawPkt; var T: Word): String;
function GetTLVInt(Pkt: PRawPkt; var T: Word): LongWord;
procedure GetSnac(Pkt: PRawPkt; var Snac: TSnacHdr);
function GetLStr(Pkt: PRawPkt): String;
function GetWStr(Pkt: PRawPkt): String;
function GetDWStr(Pkt: PRawPkt): String;
function GetLNTS(Pkt: PRawPkt): String;


{High-level functions}
function StrToLanguageI(const Value: String): Word;
function StrToCountryI(const Value: String): Word;
function StrToInterestI(const Value: String): Word;
function StrToOccupationI(const Value: String): Word;
function StrToPastI(const Value: String): Word;
function StrToOrganizationI(const Value: String): Word;
procedure ParseContacts(Value: String; var List: TStringList);
function MakeContactsStr(Contacts: TStringList): String;

{Packet creation functions}
procedure CreateCLI_IDENT(Pkt: PRawPkt; UIN: LongWord; Password: String; var Seq: Word);
procedure CreateCLI_COOKIE(Pkt: PRawPkt; const Cookie: String; var Seq: Word);
procedure CreateCLI_FAMILIES(Pkt: PRawPkt; var Seq: Word);
procedure CreateCLI_RATESREQUEST(Pkt: PRawPkt; var Seq: Word);
procedure CreateCLI_ACKRATES(Pkt: PRawPkt; var Seq: Word);
procedure CreateCLI_REQINFO(Pkt: PRawPkt; var Seq: Word);
procedure CreateCLI_REQUNKNOWN(Pkt: PRawPkt; var Seq: Word);
procedure CreateCLI_REQROSTER(Pkt: PRawPkt; var Seq: Word);
procedure CreateCLI_CHECKROSTER(Pkt: PRawPkt; var Seq: Word);
procedure CreateCLI_REQLOCATION(Pkt: PRawPkt; var Seq: Word);
procedure CreateCLI_REQBUDDY(Pkt: PRawPkt; var Seq: Word);
procedure CreateCLI_REQICBM(Pkt: PRawPkt; var Seq: Word);
procedure CreateCLI_SETSTATUS(Pkt: PRawPkt; Status: LongWord; IP: LongInt; Port: Word; Cookie: LongWord; ProxyType: TProxyType; var Seq: Word);
procedure CreateCLI_SETSTATUS_SHORT(Pkt: PRawPkt; Status: LongWord; var Seq: Word);
procedure CreateCLI_REQBOS(Pkt: PRawPkt; var Seq: Word);
procedure CreateCLI_SETUSERINFO(Pkt: PRawPkt; var Seq: Word);
procedure CreateCLI_SETICBM(Pkt: PRawPkt; var Seq: Word);
procedure CreateCLI_READY(Pkt: PRawPkt; var Seq: Word);
procedure CreateCLI_TOICQSRV(Pkt: PRawPkt; UIN: LongWord; Command: Word; Data: Pointer; DataLen: LongWord; var Seq, Seq2: Word);
procedure CreateCLI_ADDCONTACT(Pkt: PRawPkt; UIN: String; var Seq: Word);
procedure CreateCLI_ADDCONTACT_MULTI(Pkt: PRawPkt; UINs: array of LongWord; var Seq: Word);
procedure CreateCLI_REMOVECONTACT(Pkt: PRawPkt; UIN: LongWord; var Seq: Word);
procedure CreateCLI_ADDVISIBLE(Pkt: PRawPkt; UINs: TStrings; var Seq: Word);
procedure CreateCLI_REMVISIBLE(Pkt: PRawPkt; UIN: LongWord; var Seq: Word);
procedure CreateCLI_ADDINVISIBLE(Pkt: PRawPkt; UINs: TStrings; var Seq: Word);
procedure CreateCLI_REMINVISIBLE(Pkt: PRawPkt; UIN: LongWord; var Seq: Word);
procedure CreateCLI_ACKOFFLINEMSGS(Pkt: PRawPkt; UIN: LongWord; var Seq, Seq2: Word);
procedure CreateCLI_SENDMSG(Pkt: PRawPkt; ITime, IRandom, UIN: LongWord; const Msg: String; var Seq: Word);
procedure CreateCLI_SENDURL(Pkt: PRawPkt; ITime, IRandom, MyUIN, UIN: LongWord; const URL, Description: String; var Seq: Word);
procedure CreateCLI_AUTHORIZE(Pkt: PRawPkt; UIN: LongWord; Auth: Byte; Reason: String; var Seq: Word);
procedure CreateCLI_METAREQINFO(Pkt: PRawPkt; UIN, dUIN: LongWord; var Seq, Seq2: Word);
procedure CreateCLI_SEARCHBYMAIL(Pkt: PRawPkt; UIN: LongWord; const Email: String; var Seq, Seq2: Word);
procedure CreateCLI_SEARCHBYUIN(Pkt: PRawPkt; UIN: LongWord; DUIN: LongWord; var Seq, Seq2: Word);
procedure CreateCLI_SEARCHBYNAME(Pkt: PRawPkt; UIN: LongWord; const FirstName, LastName, NickName, Email: String; var Seq, Seq2: Word);
procedure CreateCLI_SEARCHRANDOM(Pkt: PRawPkt; UIN: LongWord; Group: Word; var Seq, Seq2: Word);
procedure CreateCLI_SEARCHWP(Pkt: PRawPkt; UIN: LongWord; First, Last, Nick, Email: String; MinAge, MaxAge: Word; Gender: Byte; Language: Byte; City: String; Country: Word; Company, Department, Position: String; Occupation: Byte; Organization: Word; OrganKeyWords: String; Affiliation: Word; AffiKeyWords, KeyWord: String; Online: Byte; var Seq, Seq2: Word);
procedure CreateCLI_METASETMORE(Pkt: PRawPkt; UIN: LongWord; Age: Word; Gender: Byte; HomePage: String; BirthYear: Word; BirthMonth, BirthDay, Lang1, Lang2, Lang3: Byte; var Seq, Seq2: Word);
procedure CreateCLI_METASETGENERAL(Pkt: PRawPkt; UIN: LongWord; const NickName, FirstName, LastName, Email, City, State, Phone, Fax, Street, Cellular, Zip: String; Country: Word; TimeZone: Byte; PublishEmail: Boolean; var Seq, Seq2: Word);
procedure CreateCLI_METASETABOUT(Pkt: PRawPkt; UIN: LongWord; const About: String; var Seq, Seq2: Word);
procedure CreateCLI_SENDSMS(Pkt: PRawPkt; UIN: LongWord; const Destination, Text: String; CodePage: Word; const Time: String; var Seq, Seq2: Word);
procedure CreateCLI_SENDMSG_ADVANCED(Pkt: PRawPkt; ITime, IRandom, UIN: LongWord; const Msg: String; RTFFormat: Boolean; var Seq: Word);
procedure CreateCLI_SENDMSG_FILEACK(Pkt: PRawPkt; FFSeq: Word; ITime, IRandom, UIN, FileSize: LongWord; const FileDesc, FileName: String; Port: Word; var Seq: Word);
procedure CreateCLI_SENDMSG_FILEDECLINE(Pkt: PRawPkt; FFSeq: Word; ITime, IRandom, UIN, FileSize: LongWord; const FileDesc, FileName, Reason: String; Port: Word; var Seq: Word);
procedure CreateCLI_HELLO(Pkt: PRawPkt; var Seq: Word);
procedure CreateCLI_GOODBYE(Pkt: PRawPkt; var Seq: Word);
procedure CreateCLI_REGISTERUSER(Pkt: PRawPkt; const Password: String; var Seq: Word);
procedure CreateCLI_REQAWAYMSG(Pkt: PRawPkt; ITime, IRandom, UIN: LongWord; Status: Byte; var Seq: Word);
procedure CreateCLI_SENDCONTACTS(Pkt: PRawPkt; ITime, IRandom, UIN: LongWord; Contacts: TStringList; var Seq: Word);
procedure CreateCLI_SENDCONTACTS_REQ(Pkt: PRawPkt; ITime, IRandom, UIN: LongWord; Reason: String; var Seq: Word);
procedure CreateCLI_UNREGUIN(Pkt: PRawPkt; UIN: LongWord; const Password: String; var Seq, Seq2: Word);
procedure CreateCLI_METASETPASS(Pkt: PRawPkt; UIN: LongWord; const Password: String; Buffer: Pointer; BufLen: Word; var Seq, Seq2: Word);
procedure CreateCLI_METASETPERMISSIONS(Pkt: PRawPkt; UIN: LongWord; AuthorizationRequired, WebAware: Boolean; var Seq, Seq2: Word);
procedure CreateCLI_METAREQINFO_SHORT(Pkt: PRawPkt; UIN, DestUIN: LongWord; var Seq, Seq2: Word);
procedure CreateCLI_REQAUTH(Pkt: PRawPkt; UIN: LongWord; Msg: String; var Seq: Word);
procedure CreateCLI_KEEPALIVE(Pkt: PRawPkt; var Seq: Word);
procedure CreateCLI_ADDSTART(Pkt: PRawPkt; FirstUpload: Boolean; var Seq: Word);
procedure CreateCLI_ADDEND(Pkt: PRawPkt; var Seq: Word);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
大胆亚洲人体视频| 欧美一级日韩免费不卡| 欧美久久免费观看| 亚洲欧美影音先锋| 国产精品一二三区在线| 欧美精品乱人伦久久久久久| ...中文天堂在线一区| 麻豆精品国产91久久久久久| 在线中文字幕一区| 欧美韩日一区二区三区| 久久精品国产亚洲一区二区三区| 91麻豆自制传媒国产之光| 久久久青草青青国产亚洲免观| 亚洲va韩国va欧美va| 91在线小视频| 久久久影视传媒| 奇米精品一区二区三区四区| 欧美色视频在线观看| 国产精品久久久久影院亚瑟 | 亚洲欧洲制服丝袜| 国产精品影音先锋| 精品国产91九色蝌蚪| 日本美女视频一区二区| 欧美日韩一区小说| 一区二区三区日韩欧美精品| 色哟哟精品一区| 亚洲欧美日韩人成在线播放| 91丨九色丨蝌蚪丨老版| 中文字幕一区二区在线播放| 亚洲精品一卡二卡| 91免费观看视频| 亚洲视频香蕉人妖| 91国模大尺度私拍在线视频| 国产精品不卡视频| 色偷偷成人一区二区三区91 | 欧洲av一区二区嗯嗯嗯啊| 亚洲激情六月丁香| 欧美在线|欧美| 日韩和欧美一区二区| 色视频欧美一区二区三区| 亚洲黄色尤物视频| 欧美色区777第一页| 香港成人在线视频| 欧美mv和日韩mv国产网站| 国内精品视频666| 国产精品网友自拍| 欧美在线观看一区二区| 日韩中文字幕区一区有砖一区| 欧美一区二区三区啪啪| 国产原创一区二区三区| 国产精品久久久久永久免费观看| 色婷婷综合久色| 午夜精品aaa| 久久久精品tv| 99久久精品国产精品久久| 五月天精品一区二区三区| 精品久久免费看| 99久久99久久精品免费看蜜桃| 亚洲韩国精品一区| 2014亚洲片线观看视频免费| av成人老司机| 日本伊人精品一区二区三区观看方式| 日韩一区二区免费电影| 成人午夜激情影院| 亚洲一区二区三区在线| 久久免费精品国产久精品久久久久| 国产一区二区不卡| 亚洲人精品一区| 日韩色视频在线观看| 成人av资源下载| 日韩国产精品久久久| 中文字幕国产一区二区| 欧美猛男gaygay网站| 丁香网亚洲国际| 首页亚洲欧美制服丝腿| 国产精品激情偷乱一区二区∴| 在线播放91灌醉迷j高跟美女 | 日韩av电影天堂| 国产精品视频看| 日韩视频免费观看高清在线视频| www.欧美日韩| 男女男精品网站| 久久99国产精品久久99果冻传媒| 日本一区二区视频在线| 欧美电影影音先锋| 日本韩国一区二区三区视频| 国产一区二区伦理片| 日日欢夜夜爽一区| 一区二区三区中文字幕在线观看| 久久女同精品一区二区| 91精品国产综合久久福利软件 | 国产精品一区二区免费不卡| 亚洲大片在线观看| 国产精品久久久久久久浪潮网站| 制服.丝袜.亚洲.另类.中文| 色哟哟精品一区| 99综合电影在线视频| 国产福利一区在线| 狠狠狠色丁香婷婷综合激情| 日韩专区欧美专区| 亚洲成人久久影院| 亚洲日本电影在线| 自拍偷拍亚洲激情| 国产欧美一区二区精品婷婷| 久久综合九色综合欧美98 | 久久综合色综合88| 这里只有精品免费| 9191成人精品久久| 777午夜精品视频在线播放| 色综合久久久久综合体| 不卡的电视剧免费网站有什么| 国产黑丝在线一区二区三区| 国内精品国产成人| 国产成人av电影免费在线观看| 国产精品一区一区三区| 精品无码三级在线观看视频| 久久99国产乱子伦精品免费| 精品在线免费观看| 国产寡妇亲子伦一区二区| 丰满少妇久久久久久久| 99久久免费视频.com| 91网址在线看| 欧美日韩高清一区二区不卡| 日韩一区二区三区在线视频| 欧美tk—视频vk| 国产亚洲va综合人人澡精品 | 午夜久久久影院| 美女一区二区在线观看| 国内精品第一页| 成人av电影在线| 91麻豆国产福利在线观看| 成人免费视频一区| 欧洲精品在线观看| 欧美一区二区视频在线观看2020| 精品裸体舞一区二区三区| 亚洲国产高清不卡| 亚洲精品久久嫩草网站秘色| 亚洲成人精品一区二区| 激情另类小说区图片区视频区| 丁香网亚洲国际| 欧美日韩一区二区电影| 精品国产乱码久久久久久久久| 国产精品色眯眯| 午夜精品一区二区三区电影天堂| 奇米影视一区二区三区| av不卡在线播放| 制服丝袜中文字幕一区| 亚洲国产精品v| 舔着乳尖日韩一区| 高清视频一区二区| 欧美乱妇23p| 国产日产欧美精品一区二区三区| 亚洲色欲色欲www在线观看| 日韩电影在线一区| 97久久精品人人做人人爽50路| 9191精品国产综合久久久久久| 国产精品免费网站在线观看| 视频一区二区三区中文字幕| 成人午夜免费av| 日韩一级完整毛片| 亚洲欧美日韩精品久久久久| 美女国产一区二区三区| 91精品办公室少妇高潮对白| www日韩大片| 日韩av一区二区在线影视| 成人亚洲一区二区一| 欧美大片国产精品| 亚洲国产日日夜夜| 91网站视频在线观看| 国产欧美日韩麻豆91| 蜜桃一区二区三区四区| 在线精品视频一区二区三四| 国产精品美女久久久久久久久久久| 麻豆91精品91久久久的内涵| 91成人看片片| 亚洲免费在线视频| 不卡一区二区中文字幕| 欧美mv日韩mv国产网站| 亚洲成人自拍一区| 91成人在线免费观看| 亚洲欧美日韩在线不卡| jlzzjlzz欧美大全| 日本一区二区三级电影在线观看| 美女视频黄频大全不卡视频在线播放| 色综合久久99| 国产精品白丝在线| 本田岬高潮一区二区三区| 色呦呦国产精品| 久久亚洲精精品中文字幕早川悠里| 视频在线在亚洲| 91精品中文字幕一区二区三区| 亚洲精品第一国产综合野| 91香蕉视频污在线| 亚洲精品一二三| 91久久线看在观草草青青| 亚洲一区二区在线观看视频| 91精彩视频在线| 天堂一区二区在线| 色偷偷成人一区二区三区91| 亚洲综合激情另类小说区|