Jump to content
Fivewin Brasil

sistem

Membros
  • Posts

    561
  • Joined

  • Last visited

  • Days Won

    25

Everything posted by sistem

  1. syspel começei a alterar voconsefaz.prg e ta 90% alterado amanha devo concluir, vc sabe se eh possivel publicar aqui as alteracoes? caso o gilmer permitir eu coloco as alteraçoes aqui, []'s
  2. ola WISKI "baixe os arquivos em anexo que baxei do site do correio" onde encontro os anexo?
  3. kapiaba seu cliente tb pode ir na sefaz com um cd limpo, dai eles grava todos os xml no cd/dvd obs: o cliente tem q apresentar alguns documentos que nao lembro quais é (ligar para sefaz para saber quais documento)
  4. essa rotina baixa o xml nao assinado do site da nfe. (testado) se quiser gerar o xml assinado tente esse site http://www.fsist.com.br/ (vai precisar do certificado) (NAO testado)
  5. parece que esta disponivel no site da sefaz as nfe dos ultimos 3 meses Function ConsultaSefazXml(cChave) Local oFont, oDlgCaptcha, oGet,oGet1, cCaptcha:=Space(8), oSefaz, oImage Default cChave := Space(44) DEFINE FONT oFont NAME "Arial" SIZE 0, -20 BOLD DEFINE DIALOG oDlgCaptcha TITLE "Gerar XML" FROM 0,0 to 110,400 PIXEL @ 001, 032 SAY "* poderá inserir qualquer chave" PIXEL OF oDlgCaptcha @ 010, 002 SAY "Chave NFe" PIXEL OF oDlgCaptcha SIZE 30, 10 @ 009, 032 GET oGet VAR cChave PIXEL OF oDlgCaptcha SIZE 165, 10 Picture "@9" @ 030, 002 SAY "Captcha" PIXEL OF oDlgCaptcha SIZE 20, 10 @ 022, 108 GET oGet1 VAR cCaptcha PIXEL OF oDlgCaptcha SIZE 40, 15 FONT oFont @ 022, 032 IMAGE oImage SIZE 70, 30 PIXEL OF oDlgCaptcha ADJUST @ 039, 108 BUTTON "&Gerar XML" PIXEL OF oDlgCaptcha SIZE 40, 12 ACTION (If(oSefaz:DownloadHtml2Xml(cChave,cCaptcha),; (MsgInfo("XML gerado com sucesso! verificar a pasta: "+oApp:cDir_001+"backup\remessa","Retorno!"),; MYRUN( oApp:cDir_001+"UniDANFe\unidanfe.exe arquivo="+oApp:cDir_001+"backup\remessa\"+Alltrim(cChave)+"nfe.xml edição=Free imprimir=1 visualizar=1 copias=1"), oDlgCaptcha:End() ),; (MsgInfo("Não gerado, tente novamente.", "Aviso!"), oDlgCaptcha:End(), ConsultaSefazXml()) ) ) oSefaz = TVoConsultaSefaz():New(oDlgCaptcha,oImage) oSefaz:lDebug:=.f. oDlgCaptcha:lHelpIcon := .f. ACTIVATE DIALOG oDlgCaptcha CENTER Return nil
  6. soh para deixar registrado caso alguem procure as dica: warderlei Cardoso oTxtFile:LastRec() e AnaCatacombs aRetorno := FParseEx(NomedoArquivo,Delimitador) aRetornoP := FParseEx(oApp:cDir_Ssr+"0001P.txt", Chr(9)) oFileP = TTxtFile():New( oApp:cDir_Ssr+"0001P.txt" ) nNumeroLinha:=oFileP:LastRec() oFileP:End() for xx=1 to nNumeroLinha DbSelectArea("Clie") Clie->(DbSeek(aRetornoP[xx,2])) DbSelectArea("Reth") Reth->(AppendReg()) Reth->Cod_Reth := aRetornoP[xx,1] Reth->Dat_Reth := date() Reth->Sta_Reth := "A" Reth->Cli_Reth := aRetornoP[xx,2] Reth->Ven_Reth := Clie->Ven_Clie Reth->Rot_Reth := Clie->Rot_Clie Reth->Seg_Reth := Clie->Seg_Clie Reth->Val_Reth := Val(aRetornoP[xx,5]) Reth->Usu_Reth := oApp:WUsuario Reth->Tim_Reth := DtoC(Date())+"-"+Left(Time(),5) Reth->(DbCommit()) Reth->(DbUnlock()) Next
  7. oribeiro, preciso de algo que seja sem limite de envio e sem propaganda. se alguem pudesse testar o envio com a funcao acima,... alguem que tenha o modem. aqui a msg chega mais com caracteres estranhos => ????????ã???? acho q seja por causa do meu modem
  8. deu certo meu amigo emotta, ficou perfeito muitíssimo obrigado
  9. Alguem poderia conferir o codigo abaixo com o MODEM3G para envio de SMS aqui envia mais chega somente caracters tipo => ???????ã??????? nao sei se eh pq meu modem ser chigling Function SMSForm() Local oFont, oDlg, oOle, lOk:=.f., oMsg,; cMsg:=Space(124), cDDD:=Space(2), cTel:=Space(9), cNom:=Space(15), cPort:="COM5" DEFINE FONT oFont NAME "Arial" SIZE 0, -12 DEFINE FONT oFont2 NAME "Arial" SIZE 0, -12 BOLD DEFINE DIALOG oDlg FROM 4, 4 TO 12, 50 TITLE "Enviar SMS" @ 02, 03 SAY "De:" FONT oFont PIXEL of oDlg @ 02, 99 SAY "Ex: JOSE" FONT oFont PIXEL of oDlg @ 14, 03 SAY "Fone:" FONT oFont PIXEL of oDlg @ 14, 99 SAY "Ex: 85 88889999" FONT oFont PIXEL of oDlg @ 26, 03 SAY "Msg:" FONT oFont PIXEL of oDlg @ 52, 03 SAY oSay VAR StrZero(Len(Alltrim(cMsg)),3) PIXEL OF oDlg SIZE 11, 06 FONT oFont2 @ 52, 17 SAY "de 120" PIXEL OF oDlg SIZE 60, 08 FONT oFont2 @ 02, 40 GET cNom PIXEL OF oDlg COLOR CLR_GET1,CLR_GET2 SIZE 55, 10 PICTURE "@!" @ 14, 40 GET cDdd PIXEL OF oDlg COLOR CLR_GET1,CLR_GET2 SIZE 12, 10 PICTURE "99" @ 14, 55 GET cTel PIXEL OF oDlg COLOR CLR_GET1,CLR_GET2 SIZE 40, 10 PICTURE "999999999" @ 26, 40 GET oMsg VAR cMsg Multiline PIXEL OF oDlg COLOR CLR_GET1,CLR_GET2 SIZE 140, 30 ON Change ContaGet(oMsg, oSay, cMsg, 119) @ 40, 02 BUTTON "&Enviar" PIXEL OF oDlg SIZE 35, 10 ACTION ( lOk:=.t., oDlg:End() ) @ 02, 150 COMBOBOX cPort ITEMS {"COM1", "COM2", "COM3", "COM4", "COM5", "COM6", "COM7", "COM8", "COM9", "COM10", "COM11", "COM12", "COM13", "COM14", "COM15", "COM16", "COM17", "COM18", "COM19"} PIXEL OF oDlg COLOR CLR_GET1,CLR_GET2 SIZE 30, 50 FONT oFont oMsg:bGotFocus = { || oMsg:SetSel( 0, 0 ), oMsg:Goto( oMsg:GetLineCount() ) } oDlg:lHelpIcon := .f. ACTIVATE DIALOG oDlg CENTERED If lOk SMSEnvia("55"+cDdd+Alltrim(cTel), Alltrim(cMsg), cPort) Endif Return nil //---------------------------------------------------------------- Function SMSEnvia(cTel, cMsg, cPort) // precisar da lIB hbcomm.lib, DOWNLOAD => http://www.salc.com.br/atual/hbcomm.lib local nHandle, cBuffer:="", nChar nHandle :=Init_Port( cPort, 9600, 8, 0, 1, 1024 ) If nHandle <= 0 MsgStop("Erro ao iniciar a comunicacao, porta: "+cPort, "Aviso") Return .f. Endif OutBufClr(nHandle) OutChr(nHandle, "AT+CMGF=1"+Chr(13) ) SysWait( 0.1 ) OutChr(nHandle, "AT+CMGS="+Chr(34)+cTel+Chr(34)+Chr(13) ) // cTel DDD + NumeroTel ex: "558599998888" SysWait( 0.1 ) OutChr(nHandle, cMsg+Chr(26) ) // aki a Msg SysWait(1) nChar := InBufSize( nHandle ) InChr( nHandle,nChar,@cBuffer ) UnInt_Port(nHandle) MsgInfo(StrTran(cBuffer,CRLF," "), "Retorno!") Return nil //---------------------------------------------------------------- //Contar quantidade caracteres GET ON Change Function ContaGet(oGet, oSay, cGet, nTamanho) Local nLen:= Len(Alltrim(cGet)) oSay:VarPut(Strzero(nLen,3)) oSay:Refresh() If nLen > nTamanho MsgAlert("O campo com tamanho limite.", "Aviso!") Endif Return(nil) fontes: http://forums.fivetechsupport.com/viewtopic.php?f=6&t=27875 http://afercondini.wordpress.com/2013/04/27/modem-3g-para-enviar-sms/ http://www.vbmania.com.br/pages/?varModulo=Forum&varMethod=abrir&varID=408143&varPagina=1
  10. emotta o vetor e criado da seguinte maneira: For x=1 to Prod->(Lastrec()) For y=1 to 11 aVetor[x,y] := 0 Next Next nPos teria que representar o valor do sr_recno de cada linha da tabela do cad.produdo para que o select funcione teria que por o sr_recno do cadastro de produto no TotSR, mais ou menos assim: cSelect := 'SELECT fam_essu, pro_essu, mov_essu, sr_recno, SUM(qtd_essu) nTotQTD FROM essu WHERE dat_essu < "'+Sr_cDbValue(dData1)+'" GROUP BY fam_essu, pro_essu, mov_essu' o sr_recno teria que ser o valor do cadastro de produto para cada grupo ENT e SAI do TotSR ou teria que alterar a logica da criacao do vetor. tipo: DbGoTop() While !TotSR->(Eof()) If TotSR->Mov_Essu == "ENT" aVetor[TotSR->sr_recno,3] := TotSR->nTotQtd // valor do sr_recno do cad.prod ElseIf TotSR->Mov_Essu == "SAI" aVetor[TotSR->sr_recno,4] := TOTSR->nTotQtd EndIf TotSR->(DbSkip()) EndDo TotSR->(DbCloseArea())
  11. emotta seu codigo ficou bem melhor. com certeza o banco de dados ficara menos sobrecarregado e o relatório mais rapido irei ver e digo como ficou obrigado de novo, *esse topic foi de grade ajuda e ensinamento
  12. DbSelectArea("Prod") Prod->(DBSETORDER("Prod1")) Prod->(DbGotop()) Do While !Prod->(Eof()) cSelect := 'SELECT fam_essu, SUM(qtd_essu) nTOTQTD, SUM((qtd_essu*prc_essu)-(qtd_essu*prc_essu*des_essu/100)) nTOTVAL FROM essu WHERE fam_essu = "'+prod->Fam_Prod+'" and pro_essu = "'+prod->Cod_Prod+'" and dat_essu < "'+dtos(dData1)+'" and mov_essu = "ENT" GROUP BY fam_essu' DbUseArea(.t.,"SQLRDD",cSelect,"TOTSR") aVetor[Prod->(recno()),3] := TOTSR->nTOTQTD aVetor[Prod->(recno()),7] := TOTSR->nTOTVAL TOTSR->(DbCloseArea()) cSelect := 'SELECT fam_essu, SUM(qtd_essu) nTOTQTD, SUM((qtd_essu*prc_essu)-(qtd_essu*prc_essu*des_essu/100)) nTOTVAL FROM essu WHERE fam_essu = "'+prod->Fam_Prod+'" and pro_essu = "'+prod->Cod_Prod+'" and dat_essu < "'+dtos(dData1)+'" and mov_essu = "SAI" GROUP BY fam_essu' DbUseArea(.t.,"SQLRDD",cSelect,"TOTSR") aVetor[Prod->(recno()),4] := TOTSR->nTOTQTD aVetor[Prod->(recno()),7] := TOTSR->nTOTVAL TOTSR->(DbCloseArea()) Prod->(DbSkip()) Enddo realmente não entendi. com base no código acima poderia colocar um exemplo:
  13. emotta, o tempo foi o mesmo, na verdade foi 10 segundos as duas maneiras, talvez em rede a opção com GROUP BY seja mais rápido ainda. com o skip o cliente diz q mandava rodar o relatório e ia fazer outras coisas rsrs ficou otimo sql eh show
  14. DbSelectArea("Prod") Prod->(DBSETORDER("Prod1")) Prod->(DbGotop()) Do While !Prod->(Eof()) cSelect := 'SELECT SUM(qtd_essu) nTOTAQTD FROM essu WHERE fam_essu = "'+prod->Fam_Prod+'" and pro_essu = "'+prod->Cod_Prod+'" and dat_essu < "'+dtos(dData1)+'" and mov_essu = "ENT"' DbUseArea(.t.,"SQLRDD",cSelect,"TOTSR") aVetor[Prod->(recno()),3] := TOTSR->nTOTAQTD TOTSR->(DbCloseArea()) cSelect := 'SELECT SUM(qtd_essu) nTOTAQTD FROM essu WHERE fam_essu = "'+prod->Fam_Prod+'" and pro_essu = "'+prod->Cod_Prod+'" and dat_essu < "'+dtos(dData1)+'" and mov_essu = "SAI"' DbUseArea(.t.,"SQLRDD",cSelect,"TOTSR") aVetor[Prod->(recno()),4] := TOTSR->nTOTAQTD TOTSR->(DbCloseArea()) Prod->(DbSkip()) Enddo Ficou super rápido, antes usava o skip imagine usar o skip em uma tabela para pegar o saldo anterior da movimentação do estoque desde de 2007 o relatoria demorava uns 4 minutos agora demorou somente 20 segundos
  15. SR_GetConnection():exec( 'SELECT SUM(qtd_essu) AS nTOTAQTD FROM essu WHERE fam_essu = "'+cFam_Prod+'" and pro_essu = "'+cCod_Prod+'" and dat_essu < "'+dtos(dData1)+'" and mov_essu = "ENT";') gostaria de pegar a coluna qtd_essu somar e guardar o valor na variável nTOTAQTD alguém teria exemplo com sqrdd []s
  16. http://social.technet.microsoft.com/Forums/pt-BR/a046c963-3fb0-4d62-90e9-7691808159f1/vrus-compacta-arquivo-para-rar-com-senha
  17. na minha pouca experiencia melhora, mais melhora muito.
  18. não fica lento uso a classe desde 2011 para bloquear o programa com senha ou mesmo encerrar.
  19. tem esse aqui tb: http://www.superdownloads.com.br/download/40/usb-over-network-server/ parece que tem gente usando http://www.projetoacbr.com.br/forum/index.php?/topic/4848-compartilhar-cerfiticado-a3/
  20. qual seria a pagina? Function CnpjSintegra(cCgc, cEst) Local hWnd, oOle, cUrl, cCnpj:=Alltrim(StrTran(StrTran(StrTran(cCgc, "/", ""), ".", ""), "-", "")) oOle:= CreateObject("InternetExplorer.Application") oOle:Visible := .t. // Apresenta o Browser oOle:ToolBar := .f. // Desativa a barra de ferramentas oOle:StatusBar := .f. // Desativa a barra de status oOle:MenuBar := .f. // desativa a barra de menu If cEst="AC" cUrl:="http://sefaznet.ac.gov.br/sefazonline/servlet/sintegraconsulta" ElseIf cEst="AL" cUrl:="http://sintegra.sefaz.al.gov.br/consulta_empresa_pesquisa.asp" ElseIf cEst="AP" cUrl:="http://www.sintegra.ap.gov.br/Sintegra/" ElseIf cEst="AM" cUrl:="http://online.sefaz.am.gov.br/sintegra/index.asp" ElseIf cEst="BA" cUrl:="http://www.sefaz.ba.gov.br/sintegra/sintegra.asp?estado=BA" ElseIf cEst="CE" cUrl:="http://www.sefaz.ce.gov.br/content/aplicacao/internet/servicos_online/sintegra/sintegra.asp?estado=ce" ElseIf cEst="DF" cUrl:="http://www.fazenda.df.gov.br/area.cfm?id_area=110" ElseIf cEst="ES" cUrl:="http://www.sintegra.es.gov.br/" ElseIf cEst="GO" cUrl:="http://www.sefaz.go.gov.br/ccs/default.asp" ElseIf cEst="MA" cUrl:="http://sistemas.sefaz.ma.gov.br/sintegra/jsp/consultaSintegra/consultaSintegraFiltro.jsf" ElseIf cEst="MT" cUrl:="http://www.sefaz.mt.gov.br/sid/consulta/infocadastral/consultar/publica" ElseIf cEst="MS" cUrl:="http://www1.sefaz.ms.gov.br/cadastro/CadastroMsCCI.asp" ElseIf cEst="MG" cUrl:="http://consultasintegra.fazenda.mg.gov.br/sintegra/" ElseIf cEst="PR" cUrl:="http://www.sintegra.fazenda.pr.gov.br/sintegra/" ElseIf cEst="PB" cUrl:="https://saplic.receita.pb.gov.br/sintegra/SINf_ConsultaSintegra.jsp" ElseIf cEst="PA" cUrl:="https://app.sefa.pa.gov.br/Sintegra/" ElseIf cEst="PE" cUrl:="http://www.sintegra.sefaz.pe.gov.br/" ElseIf cEst="PI" cUrl:="http://web.sintegra.sefaz.pi.gov.br/consulta_empresa_pesquisa.asp" ElseIf cEst="RJ" cUrl:="http://www.fazenda.rj.gov.br/projetoCPS/consulta.jsp" ElseIf cEst="RN" cUrl:="http://www.set.rn.gov.br/sintegra/default.asp" ElseIf cEst="RS" cUrl:="http://sintegra.sefaz.rs.gov.br/sef_root/inf/Sintegra_Entrada.asp" ElseIf cEst="RO" cUrl:="http://portal.intranet.sefin.ro.gov.br/PortalContribuinte/Publico/parametropublica.jsp" ElseIf cEst="RR" cUrl:="https://www.sefaz.rr.gov.br/sintegra/servlet/hwsintco" ElseIf cEst="SC" cUrl:="http://sistemas3.sef.sc.gov.br/sintegra/consulta_empresa_pesquisa.aspx" ElseIf cEst="SE" cUrl:="https://security.sefaz.se.gov.br/SIC/sintegra/index.jsp" ElseIf cEst="SP" cUrl:="http://pfeserv1.fazenda.sp.gov.br/sintegrapfe/consultaSintegraServlet" ElseIf cEst="TO" cUrl:="http://sintegra.sefaz.to.gov.br/" Else Return nil Endif oOle:Navigate(cUrl) hWnd:=oOle:hWnd ShowWindow(hWnd, 1 ) //SW_MAXIMIZE=3 SW_NORMAL=1 SW_MINIMIZE=6 BringWindowToTop(hWnd) While oOle:Busy syswait(.2) End oOle := oOle:Document() If cEst="AC" oOle:All:Item("vNUMDOC",0):Value := cCnpj oOle:All:Item("cfield",0):Focus() ElseIf cEst="AL" oOle:All:Item("txt_CNPJ",0):Value := cCnpj oOle:All:Item("Submit",0):Focus() oOle:All:Item("Submit",0):Click() ElseIf cEst="AP" oOle:All:Item("j_id4:tipo",0):Value := "CNPJ" oOle:All:Item("j_id4:doc",0):Value := cCnpj oOle:All:Item("j_id4:txtcaptcha",0):Focus() ElseIf cEst="AM" oOle:All:Item("cgc",0):Value := cCnpJ oOle:All:Item("captcha_code",0):Focus() ElseIf cEst="BA" oOle:All:Item("txt_CNPJ",0):Value := cCnpj oOle:All:Item("Submit",0):Focus() oOle:All:Item("Submit",0):Click() ElseIf cEst="CE" oOle:All:Item("CGC",0):Value := cCnpj oOle:All:Item("B1",0):Focus() oOle:All:Item("B1",0):Click() ElseIf cEst="DF" oOle:All:Item("CGC",0):Value := cCnpj oOle:All:Item("B1",0):Focus() oOle:All:Item("B1",0):Click() ElseIf cEst="ES" oOle:All:Item("num_cnpj",0):Value := cCnpj oOle:All:Item("botao",0):Focus() oOle:All:Item("botao",0):Click() ElseIf cEst="GO" // GO erro // oOle:All:Item("tCNPJ",0):Value := cCnpj // oOle:All:Item("btCGC",0):Focus() // oOle:All:Item("btCGC",0):Click() ElseIf cEst="MA" // MA erro // oOle:All:Item("tipoEmissao",0):Value := "2" // oOle:All:Item("cpfCnpj",0):Value := cCnpj // oOle:All:Item("j_id23",0):Focus() ElseIf cEst="MT" oOle:All:Item("numero",0):Value := cCnpj oOle:All:Item("captchaDigitado",0):Focus() ElseIf cEst="MS" oOle:All:Item("CGC_CPF",0):Value := cCnpj oOle:All:Item("captchacode",0):Focus() ElseIf cEst="MG" oOle:All:Item("identificadorCmbOpcao",0):Value := "Número do CNPJ" oOle:All:Item("filtro",0):Value := cCnpj oOle:All:Item("recaptcha_response_field",0):Focus() ElseIf cEst="PR" oOle:All:Item("data[Sintegra1][Cnpj]",0):Value := cCnpj oOle:All:Item("data[Sintegra1][CodImage]",0):Focus() ElseIf cEst="PB" oOle:All:Item("nrDocumento",0):Value := cCnpj oOle:All:Item("B1",0):Focus() oOle:All:Item("B1",0):Click() ElseIf cEst="PA" oOle:All:Item("CNPJ",0):Value := cCnpj oOle:All:Item("OP",0):Focus() oOle:All:Item("OP",0):Click() ElseIf cEst="PE" oOle:All:Item("CNPJ",0):Value := cCnpj // problema oOle:All:Item("ConsultaCGC",0):Focus() oOle:All:Item("ConsultaCGC",0):Click() ElseIf cEst="PI" oOle:All:Item("txt_CNPJ",0):Value := cCnpj oOle:All:Item("Submit",0):Focus() oOle:All:Item("Submit",0):Click() ElseIf cEst="RJ" oOle:All:Item("CGC",0):Value := cCnpj oOle:All:Item("cod_img",0):Focus() ElseIf cEst="RN" oOle:All:Item("CGC",0):Value := cCnpj oOle:All:Item("B1",0):Focus() oOle:All:Item("B1",0):Click() ElseIf cEst="RS" oOle:All:Item("cgcmf",0):Value := cCnpj ElseIf cEst="RO" oOle:All:Item("NuDevedor",0):Value := cCnpj oOle:All:Item("recaptcha_response_field",0):Focus() ElseIf cEst="RR" oOle:All:Item("_CONINSESTG",0):Value := cCnpj oOle:All:Item("cfield",0):Focus() ElseIf cEst="SC" oOle:All:Item("txt_CPFCNPJ",0):Value := cCnpj oOle:All:Item("txtCodigoCaptcha",0):Focus() ElseIf cEst="SE" oOle:All:Item("cdCnpj",0):Value := cCnpj oOle:All:Item("dsImagem",0):Focus() ElseIf cEst="SP" oOle:All:Item("cnpj",0):Value := cCnpj oOle:All:Item("Key",0):Focus() ElseIf cEst="TO" oOle:All:Item("CGC",0):Value := cCnpj oOle:All:Item("B1",0):Focus() oOle:All:Item("B1",0):Click() Endif oOle := NIL Return nil segue exemplo de preencher na pagina do sintegra
  21. já uso a tabela IBPT na NF-e para calculo dos impostos, gostaria de saber a forma correta de usar no cupom fiscal, se é igual ao video tanto para daruma como bematech concatenando? ou teria outra forma? é isso
  22. Ola grupo Gostaria de saber a maneira certa para destacar os impostos no cupom fiscal com a DARUMA. Continua da mesma forma como mostra o video abaixo? http://www.youtube.com/watch?feature=player_embedded&v=8Pbo9ZNQwyM mudou alguma coisa? e com a bematech, como seria?. soh agora estou implementando isto. agradeço ajuda
  23. tem uns comentario nessa pagina: http://www.lawebdelprogramador.com/foros/Clipper_FiveWin/1001465-Es_confiable_usar_FiveWin__.html parece q jah ta tudo resolvido, vamos em frente.
  24. Eroni e Yury obrigado pelo esclarecimento com certeza vai ajudar bastante. []´s
×
×
  • Create New...