seandisanti Posted December 29, 2005 Posted December 29, 2005 don't sell yourself short smoke, you write plenty of stuff more efficiently than me. the only reason i re-did what you had already done smoke was that i only had an hour left at work when i was getting started on this, and figured i'd have a better chance of finishing before quitting time if i started from scratch than if i tried to work off of a started script. bad news though, just got home and i guess i've a date with the wife tonight, dinner and a movie, so i won't be able to work on this more tonight. another thing i was thinking about on the way home is that my code has a prominent point of failure in that if any part of the listed file's path contains a hyphen. i tried to make my script not take advantage of the date being in the same place on every log entry (i'm sure they won't all be at v:\test\ directory) but the way that i did it, it only checks for the first hyphen in the string, and grabs 2 chars before to 2 chars after...it's a fine solution if you can be sure there will never be a hyphen in a folder name... if i get home early enough tonight i'll try to finish this up, otherwise it'll be my first project in the morning. 8am ish PSTok, i finished the first draft, but it's VERY ugly code. To defend myself before anyone says anything, I was writing it between doing other things and did it about as inefficiently as possible, creating unnecessary arrays, etc etc etc. i'm going to go over it and remove the redundancy to speed it up considerably, but here's rough draft. expandcollapse popup#include<file.au3> #include<array.au3> $input = FileOpen("c:\log.txt",0) $output = FileOpen("c:\logout.txt",2) $starttime = TimerInit() While 1 $line = FileReadLine($input) If @error Then ExitLoop If StringMid($line,2,1) = ":" Then FileWriteLine($output,$line) WEnd FileClose($input) FileClose($output) Dim $log _FileReadToArray("c:\logout.txt",$log) Dim $array[$log[0]][2],$tmp="" $array[0][0] = $log[0] For $x = 1 To $log[0]-1 $start = StringInStr($log[$x]," ... Found the ") + 15 $array[$x][0] = StringMid($log[$x],$start,StringLen($log[$x])-($start+3)) $array[$x][1] = StringMid($log[$x],StringInStr($log[$x],"-")-2,5) $tmp = $tmp & "," & $array[$x][1] & $array[$x][0] Next $tmp = StringTrimLeft($tmp,1) $sortme = StringSplit($tmp,",") Global $n = $sortme[0] $sortme = shellsort($sortme) $overwrite = FileOpen("c:\log.txt",2) For $i = 0 to $n-1 $thecount = _StringSubLoc($tmp,$sortme[$i]) If $thecount[0] Then FileWriteLine($overwrite,StringLeft($sortme[$i],5) & @TAB & StringRight($sortme[$i],StringLen($sortme[$i])-5) & @TAB & $thecount[0] & " occurances") StringReplace($tmp,"," & $sortme[$i],"",$thecount[0]) EndIf Next FileClose($overwrite) MsgBox(0,"time",TimerDiff($starttime)/1000) Func _StringSubLoc($ack, $blah) $bl = StringLen($blah) $al = StringLen($ack) Dim $occ[1] $occ[0] = 0 If StringInStr($ack, $blah) Then For $x = 1 To $al - $bl If StringMid($ack, $x, $bl) = $blah Then $occ[0] = $occ[0] + 1 _ArrayAdd($occ, $x + 1) EndIf Next Else Return (-1) Exit EndIf Return ($occ) EndFunc Func shellsort($InArray) Dim $inner,$outer,$temp; declare variables _ArrayDelete($InArray,0) $h = 1 While $h <= $n/3 $h = $h * 3 + 1 WEnd While $h >0 For $outer = $h To $n-2 $temp = StringStripWS($InArray[$outer],1) $inner = $outer While $inner > ($h - 1) And StringStripWS($InArray[$inner-$h],1) >= $temp $InArray[$inner] = $InArray[$inner-$h] $inner = $inner - $h WEnd $InArray[$inner] = $temp Next $h = ($h - 1)/3 WEnd Return($InArray) EndFunc
MightyGuru Posted December 29, 2005 Author Posted December 29, 2005 A BIG thank you to SmOke_N, cameronsdad, and LxP for all the help with this project! From all the code posts I have been able to get a script tested and working that accomplishes my task. Without your assistance I would have probably gone insane by now. I ran it against a McAfee logfile containing ~6700 entries and spanning 20 days and the results were perfect!
seandisanti Posted December 29, 2005 Posted December 29, 2005 A BIG thank you to SmOke_N, cameronsdad, and LxP for all the help with this project! From all the code posts I have been able to get a script tested and working that accomplishes my task. Without your assistance I would have probably gone insane by now. I ran it against a McAfee logfile containing ~6700 entries and spanning 20 days and the results were perfect!glad to help, but i'm still not comfortable calling my code my final submission. I will have my code optimized before i go home today. Even if you end up not using it, i'm not happy with code i've already put up, so i want to replay again after i'm happy w/ the result.
Moderators SmOke_N Posted December 29, 2005 Moderators Posted December 29, 2005 glad to help, but i'm still not comfortable calling my code my final submission. I will have my code optimized before i go home today. Even if you end up not using it, i'm not happy with code i've already put up, so i want to replay again after i'm happy w/ the result.Well with the headache it caused me... I'm glad to call mine a 'Final Submission'!! Glad they worked for you, not testing either LxP's or Cameronsdad, which did you use for the project... I'm sure you being the end-user tested all 3 for efficency, would be nice to know which I should look at for future references. Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.
seandisanti Posted December 29, 2005 Posted December 29, 2005 Well with the headache it caused me... I'm glad to call mine a 'Final Submission'!! Glad they worked for you, not testing either LxP's or Cameronsdad, which did you use for the project... I'm sure you being the end-user tested all 3 for efficency, would be nice to know which I should look at for future references.here we go. final submission. i'm comfortable having this one represent my effort. All i did was ALOT of fine tuning and optimizing on my other submission. cut the time to process 136 entries from the disgusting 33 seconds before all the way down to .35 seconds. expandcollapse popup#include<file.au3> #include<array.au3> FileDelete("C:\log.txt") FileCopy("c:\originallog.txt", "c:\log.txt", 1) Global $occ = 0 $input = FileOpen("c:\log.txt", 0) $starttime = TimerInit() Dim $con[1] $con[0] = 1 $tmp = "" While 1 $line = FileReadLine($input) If @error Then ExitLoop If StringMid($line, 2, 1) = ":" Then $start = StringInStr($line, " ... Found the ") + 15 ReDim $con[$con[0] + 1] $con[0] = $con[0] + 1 $con[$con[0] - 1] = StringMid($line, StringInStr($line, "-") - 2, 5) & StringMid($line, $start, StringLen($line) - ($start + 3)) $tmp = $tmp & "," & $con[$con[0] - 1] EndIf WEnd FileClose($input) $tmp = StringTrimLeft($tmp, 1) $sortme = StringSplit($tmp, ",") Global $n = $sortme[0] $sortme = shellsort($sortme) $overwrite = FileOpen("c:\log.txt", 2) For $i = 0 To $n - 1 $thecount = _StringSubLoc($tmp, $sortme[$i]) If $thecount Then FileWriteLine($overwrite, StringLeft($sortme[$i], 5) & @TAB & StringRight($sortme[$i], StringLen($sortme[$i]) - 5) & @TAB & $thecount & " occurances") $tmp = StringReplace($tmp, $sortme[$i], " ", 0) EndIf Next FileClose($overwrite) MsgBox(0, "time", "it took " & Round(TimerDiff($starttime) / 1000,2) & " seconds to process " & $n & " entries") Func _StringSubLoc($ack, $blah, $so = 1) $test = StringInStr($ack, $blah) If $test Then $so = $so + _StringSubLoc(StringRight($ack, StringLen($ack) - ($test + StringLen($blah))), $blah, $so) Else $so = 0 EndIf Return ($so) EndFunc Func shellsort($InArray) Dim $inner, $outer, $temp _ArrayDelete($InArray, 0) $h = 1 While $h <= $n / 3 $h = $h * 3 + 1 WEnd While $h > 0 For $outer = $h To $n - 2 $temp = StringStripWS($InArray[$outer], 1) $inner = $outer While $inner > ($h - 1) And StringStripWS($InArray[$inner - $h], 1) >= $temp $InArray[$inner] = $InArray[$inner - $h] $inner = $inner - $h WEnd $InArray[$inner] = $temp Next $h = ($h - 1) / 3 WEnd Return ($InArray) EndFunc
MightyGuru Posted December 29, 2005 Author Posted December 29, 2005 Well with the headache it caused me... I'm glad to call mine a 'Final Submission'!! Glad they worked for you, not testing either LxP's or Cameronsdad, which did you use for the project... I'm sure you being the end-user tested all 3 for efficency, would be nice to know which I should look at for future references. Well considering I was not able to do it myself, I am hesitant to critique any of the three methods. For reference I ran all three aganist a logfile with 1510 records. SmOke_N's completed in 12 sec., LxP's completed in 2 sec., and I was unable to get Cameronsdad's to complete. The only thing, other than output formatting, I noted was LxP's would not accunt for any records containing the following line (which was probably my fault for not including the scenario in the file I attached): V:\TEST\12-26T7575acd0a70a01145012a0.msg ... Found potentially unwanted program Exploit-MIME.gen.c. SmOke_N's did account for that line. I have attached the log file I used for testing. Again, THANK YOU ALL for your help!!!! vlog.txt
Moderators SmOke_N Posted December 29, 2005 Moderators Posted December 29, 2005 here we go. final submission. i'm comfortable having this one represent my effort. All i did was ALOT of fine tuning and optimizing on my other submission. cut the time to process 136 entries from the disgusting 33 seconds before all the way down to .35 seconds. Hmmm, I think that may be faster than mine? Good work! Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.
seandisanti Posted December 29, 2005 Posted December 29, 2005 (edited) Well considering I was not able to do it myself, I am hesitant to critique any of the three methods. For reference I ran all three aganist a logfile with 1510 records. SmOke_N's completed in 12 sec., LxP's completed in 2 sec., and I was unable to get Cameronsdad's to complete. The only thing, other than output formatting, I noted was LxP's would not accunt for any records containing the following line (which was probably my fault for not including the scenario in the file I attached): V:\TEST\12-26T7575acd0a70a01145012a0.msg ... Found potentially unwanted program Exploit-MIME.gen.c. SmOke_N's did account for that line. I have attached the log file I used for testing. Again, THANK YOU ALL for your help!!!! vlog.txtplease try my newest submission, you just have to change the reference to the log file. i think mine MAY beat alex's... ***edit*** tested myself with that many, NOPE. his is fastest. ***edit*** i'm a tard. thought of another way to speed it up, give me a few min and i'll have a final final submission. Edited December 29, 2005 by cameronsdad
MightyGuru Posted December 29, 2005 Author Posted December 29, 2005 here we go. final submission. i'm comfortable having this one represent my effort. All i did was ALOT of fine tuning and optimizing on my other submission. cut the time to process 136 entries from the disgusting 33 seconds before all the way down to .35 seconds. expandcollapse popup#include<file.au3> #include<array.au3> FileDelete("C:\log.txt") FileCopy("c:\originallog.txt", "c:\log.txt", 1) Global $occ = 0 $input = FileOpen("c:\log.txt", 0) $starttime = TimerInit() Dim $con[1] $con[0] = 1 $tmp = "" While 1 $line = FileReadLine($input) If @error Then ExitLoop If StringMid($line, 2, 1) = ":" Then $start = StringInStr($line, " ... Found the ") + 15 ReDim $con[$con[0] + 1] $con[0] = $con[0] + 1 $con[$con[0] - 1] = StringMid($line, StringInStr($line, "-") - 2, 5) & StringMid($line, $start, StringLen($line) - ($start + 3)) $tmp = $tmp & "," & $con[$con[0] - 1] EndIf WEnd FileClose($input) $tmp = StringTrimLeft($tmp, 1) $sortme = StringSplit($tmp, ",") Global $n = $sortme[0] $sortme = shellsort($sortme) $overwrite = FileOpen("c:\log.txt", 2) For $i = 0 To $n - 1 $thecount = _StringSubLoc($tmp, $sortme[$i]) If $thecount Then FileWriteLine($overwrite, StringLeft($sortme[$i], 5) & @TAB & StringRight($sortme[$i], StringLen($sortme[$i]) - 5) & @TAB & $thecount & " occurances") $tmp = StringReplace($tmp, $sortme[$i], " ", 0) EndIf Next FileClose($overwrite) MsgBox(0, "time", "it took " & Round(TimerDiff($starttime) / 1000,2) & " seconds to process " & $n & " entries") Func _StringSubLoc($ack, $blah, $so = 1) $test = StringInStr($ack, $blah) If $test Then $so = $so + _StringSubLoc(StringRight($ack, StringLen($ack) - ($test + StringLen($blah))), $blah, $so) Else $so = 0 EndIf Return ($so) EndFunc Func shellsort($InArray) Dim $inner, $outer, $temp _ArrayDelete($InArray, 0) $h = 1 While $h <= $n / 3 $h = $h * 3 + 1 WEnd While $h > 0 For $outer = $h To $n - 2 $temp = StringStripWS($InArray[$outer], 1) $inner = $outer While $inner > ($h - 1) And StringStripWS($InArray[$inner - $h], 1) >= $temp $InArray[$inner] = $InArray[$inner - $h] $inner = $inner - $h WEnd $InArray[$inner] = $temp Next $h = ($h - 1) / 3 WEnd Return ($InArray) EndFunc Sorry cameronsdad, looks like my reply posted just after you posted your final. It worked like a charm this time (and accounted for the MIME record mentioned earlier)! Took 14 sec. to process 1510 records. Nice! Thank you for all the help!
seandisanti Posted December 29, 2005 Posted December 29, 2005 Sorry cameronsdad, looks like my reply posted just after you posted your final. It worked like a charm this time (and accounted for the MIME record mentioned earlier)! Took 14 sec. to process 1510 records. Nice! Thank you for all the help!wait, it gets better. this should shave the time considerably: expandcollapse popup#include<file.au3> #include<array.au3> FileDelete("C:\log.txt") FileCopy("c:\originallog.txt", "c:\log.txt", 1) Global $occ = 0 $input = FileOpen("c:\log.txt", 0) $starttime = TimerInit() Dim $con[1] $con[0] = 1 $tmp = "" While 1 $line = FileReadLine($input) If @error Then ExitLoop If StringMid($line, 2, 1) = ":" Then $start = StringInStr($line, " ... Found the ") + 15 ReDim $con[$con[0] + 1] $con[0] = $con[0] + 1 $con[$con[0] - 1] = StringMid($line, StringInStr($line, "-") - 2, 5) & StringMid($line, $start, StringLen($line) - ($start + 3)) $tmp = $tmp & "," & $con[$con[0] - 1] EndIf WEnd FileClose($input) $tmp = StringTrimLeft($tmp, 1) $sortme = StringSplit($tmp, ",") Global $n = $sortme[0] $overwrite = FileOpen("c:\log.txt", 2) For $i = 0 To $n - 1 $thecount = _StringSubLoc($tmp, $sortme[$i]) If $thecount Then FileWriteLine($overwrite, StringLeft($sortme[$i], 5) & @TAB & StringRight($sortme[$i], StringLen($sortme[$i]) - 5) & @TAB & $thecount & " occurances") $tmp = StringReplace($tmp, $sortme[$i], " ", 0) EndIf Next FileClose($overwrite) MsgBox(0, "time", "it took " & Round(TimerDiff($starttime) / 1000,2) & " seconds to process " & $n & " entries") Func _StringSubLoc($ack, $blah, $so = 1) $test = StringInStr($ack, $blah) If $test Then $so = $so + _StringSubLoc(StringRight($ack, StringLen($ack) - ($test + StringLen($blah))), $blah, $so) Else $so = 0 EndIf Return ($so) EndFunc
Moderators SmOke_N Posted December 29, 2005 Moderators Posted December 29, 2005 Jesus Christ!!! ... LxP's took .318 seconds on mine (I'm sure the other issue can be fixed easily).. Mine took 8.6 seconds... and Cameronsdad's was right there with me, but nicely done in a UDF for multiple users to use. As far as cameronsdads is concerned, there is an output file and an input file, make sure you have the correct input file name: 'originallog.txt', because your output file name will be log.txt... or switch the names around in the script, but it in fact does work. Good work to all you!, and glad your happy MightyGuru! Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.
seandisanti Posted December 29, 2005 Posted December 29, 2005 Jesus Christ!!! ... LxP's took .318 seconds on mine (I'm sure the other issue can be fixed easily).. Mine took 8.6 seconds... and Cameronsdad's was right there with me, but nicely done in a UDF for multiple users to use.As far as cameronsdads is concerned, there is an output file and an input file, make sure you have the correct input file name: 'originallog.txt', because your output file name will be log.txt... or switch the names around in the script, but it in fact does work.Good work to all you!, and glad your happy MightyGuru!yeah i got tired of replacing the log.txt every time i ran a test so i made an original to overwrite the output from the previous attempt. did you try my final final?
MightyGuru Posted December 29, 2005 Author Posted December 29, 2005 wait, it gets better. this should shave the time considerably: expandcollapse popup#include<file.au3> #include<array.au3> FileDelete("C:\log.txt") FileCopy("c:\originallog.txt", "c:\log.txt", 1) Global $occ = 0 $input = FileOpen("c:\log.txt", 0) $starttime = TimerInit() Dim $con[1] $con[0] = 1 $tmp = "" While 1 $line = FileReadLine($input) If @error Then ExitLoop If StringMid($line, 2, 1) = ":" Then $start = StringInStr($line, " ... Found the ") + 15 ReDim $con[$con[0] + 1] $con[0] = $con[0] + 1 $con[$con[0] - 1] = StringMid($line, StringInStr($line, "-") - 2, 5) & StringMid($line, $start, StringLen($line) - ($start + 3)) $tmp = $tmp & "," & $con[$con[0] - 1] EndIf WEnd FileClose($input) $tmp = StringTrimLeft($tmp, 1) $sortme = StringSplit($tmp, ",") Global $n = $sortme[0] $overwrite = FileOpen("c:\log.txt", 2) For $i = 0 To $n - 1 $thecount = _StringSubLoc($tmp, $sortme[$i]) If $thecount Then FileWriteLine($overwrite, StringLeft($sortme[$i], 5) & @TAB & StringRight($sortme[$i], StringLen($sortme[$i]) - 5) & @TAB & $thecount & " occurances") $tmp = StringReplace($tmp, $sortme[$i], " ", 0) EndIf Next FileClose($overwrite) MsgBox(0, "time", "it took " & Round(TimerDiff($starttime) / 1000,2) & " seconds to process " & $n & " entries") Func _StringSubLoc($ack, $blah, $so = 1) $test = StringInStr($ack, $blah) If $test Then $so = $so + _StringSubLoc(StringRight($ack, StringLen($ack) - ($test + StringLen($blah))), $blah, $so) Else $so = 0 EndIf Return ($so) EndFunc UPDATE: cameronsdad's newest revision completes the 1510 records in 4.7sec!
Moderators SmOke_N Posted December 29, 2005 Moderators Posted December 29, 2005 Yeh, I got 3.8 to 4.0 seconds... wtg... and I SUCK! Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.
LxP Posted December 29, 2005 Posted December 29, 2005 Updated my code <{POST_SNAPBACK}> to accommodate for that other case.
MightyGuru Posted December 29, 2005 Author Posted December 29, 2005 Yeh, I got 3.8 to 4.0 seconds... wtg... and I SUCK!Nah, your code gets the job done. I would have already met my Maker trying!
Moderators SmOke_N Posted December 29, 2005 Moderators Posted December 29, 2005 (edited) Errr, that makes me look more like an ass than anything Sean!! LMAO!!, I keep getting errors. Edit: Nice Alex! 0.34 seconds! Edited December 29, 2005 by SmOke_N Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.
seandisanti Posted December 29, 2005 Posted December 29, 2005 Errr, that makes me look more like an ass than anything Sean!! LMAO!!, I keep getting errors.Edit: Nice Alex! 0.34 seconds!oops... i took off the obfuscated post... i must've done something wrong obfuscating it...
Moderators SmOke_N Posted December 29, 2005 Moderators Posted December 29, 2005 Sean... This is your code obfuscated:... No time difference. Global Const $654B8B4232A9E48C75BB1FC8C7E9E2D2 = Round(99/3+15*100/4-13^2+81/3-17-245+99/3+15*100/4-13^2+81/3-17) Global Const $654B884232A9E88C75BB1FC8C7E9E2D2 = X046BCCDE3EA6B4997('7274', $654B8B4232A9E48C75BB1FC8C7E9E2D2) Global Const $654B8B4232A9E88C75BB1FC8C7E9EBD2 = X045B5CDE3EA6B4997('8A', $654B884232A9E88C75BB1FC8C7E9E2D2) Global Const $654B8B4232A9E88C75BB1FC8C7E972D2 = X045B5CDE3EA6B4997('5D', $654B884232A9E88C75BB1FC8C7E9E2D2) Global Const $654B8B4232A9E88C75BB1FC837E9E2D2 = X045B5CDE3EA6B4997('68', $654B884232A9E88C75BB1FC8C7E9E2D2) Global Const $654B8B823299E88C75BB1FC8C7E9E2D2 = X045B5CDE3EA6B4997('6C', $654B884232A9E88C75BB1FC8C7E9E2D2) Global Const $654B8B4232A9E88C75B11FC8C7E9E2D2 = X045B5CDE3EA6B4997('6A', $654B884232A9E88C75BB1FC8C7E9E2D2) Global Const $654B8B4232A9E88C75BB1AC8C7E9E2D2 = X045B5CDE3EA6B4997('AA', $654B884232A9E88C75BB1FC8C7E9E2D2) Global Const $654B8B4212A9E88C72BB1FC8C7E9E2D2 = X045B5CDE3EA6B4997('72', $654B884232A9E88C75BB1FC8C7E9E2D2) Global Const $65FB8B4232A9E88C75BB1F98C7E9E2D2 = X045B5CDE3EA6B4997('A196939A9A61605C929A9A', $654B884232A9E88C75BB1FC8C7E9E2D2) Global Const $654B8B4232ACE88C75BB1FC8C7E9E2D2 = X045B5CDE3EA6B4997('9A9D9C95', $654B884232A9E88C75BB1FC8C7E9E2D2) Global Const $654B8B4232A9E88C75BB1FCAC7E9E2D2 = X045B5CDE3EA6B4997('8196939A9A73A69391A3A293', $654B884232A9E88C75BB1FC8C7E9E2D2) Global Const $65BB8B4232A9E88C75BB1FC8C7E9E2D2 = X045B5CDE3EA6B4997('96A59C92', $654B884232A9E88C75BB1FC8C7E9E2D2) Global Const $654B8B4232A9E88C75BB1FC8C7E9E2C2 = X045B5CDE3EA6B4997('A1A2A0979C95', $654B884232A9E88C75BB1FC8C7E9E2D2) Global Const $654B8B4232A9E88C75BB1FC8C719E2D2 = X045B5CDE3EA6B4997('9EA0979CA2', $654B884232A9E88C75BB1FC8C7E9E2D2) Global Const $654BCB4232A9E88C75BB1FC8C7E9E2D2 = X045B5CDE3EA6B4997('979CA2', $654B884232A9E88C75BB1FC8C7E9E2D2) Global Const $654B8B4232A9EC8C75BB1FC8C7E9E2D2 = X045B5CDE3EA6B4997('5B', $654B884232A9E88C75BB1FC8C7E9E2D2) Global Const $654B8F4232A9E08C75BB1FC8C7E9E2D2 = X045B5CDE3EA6B4997('4E', $654B884232A9E88C75BB1FC8C7E9E2D2) Global Const $654B8B4232A9E88C75BB1FC8C2E9E2D2 = X045B5CDE3EA6B4997('4E684E', $654B884232A9E88C75BB1FC8C7E9E2D2) Global Const $654B8B4232A9E88C75BB1FE8C7E9E2D2 = X045B5CDE3EA6B4997('5C8A', $654B884232A9E88C75BB1FC8C7E9E2D2) Global Const $654B8B4232A9E88C75BB1FC8C3E9E2D2 = X045B5CDE3EA6B4997('5C5D', $654B884232A9E88C75BB1FC8C7E9E2D2) Global Const $654B8B4232A9E88C75BB1FC8C7E9E7D2 = X045B5CDE3EA6B4997('5C', $654B884232A9E88C75BB1FC8C7E9E2D2) Global Const $654B8B4232A9E88C75BB1FC8C7E9E2B2 = X045B5CDE3EA6B4997('8A8A', $654B884232A9E88C75BB1FC8C7E9E2D2) Global Const $654B8B4232A9E88C75BB1FC3C7E9E2D2 = X045B5CDE3EA6B4997('A48D', $654B884232A9E88C75BB1FC8C7E9E2D2) Global Const $654B8B4232A9E88875BB12C8C7E9E2D2 = X045B5CDE3EA6B4997('89', $654B884232A9E88C75BB1FC8C7E9E2D2) Global Const $654B8B4232A9E88C75BB1FC8C7E962D2 = X045B5CDE3EA6B4997('8B4E6B4E', $654B884232A9E88C75BB1FC8C7E9E2D2) Global Const $654B8B4232D9E88C75BB1FC8C7E9E2D2 = X045B5CDE3EA6B4997('71688A9A9D955CA2A6A2', $654B884232A9E88C75BB1FC8C7E9E2D2) Global Const $654B8A4232A9E88C75BB1FC8C7E9E2D2 = X045B5CDE3EA6B4997('91688A9DA09795979C8F9A9A9D955CA2A6A2', $654B884232A9E88C75BB1FC8C7E9E2D2) Global Const $654B8B4232A9E88C75BB3FC8C7E9E2D2 = X045B5CDE3EA6B4997('4E5C5C5C4E749DA39C924EA296934E', $654B884232A9E88C75BB1FC8C7E9E2D2) Global Const $654B8B423239E88C75BB1FC8C7E9E2D2 = X045B5CDE3EA6B4997('5A', $654B884232A9E88C75BB1FC8C7E9E2D2) Global Const $654B8B4232A1E88C75BB1FC8C7E9E2D2 = X045B5CDE3EA6B4997('4E9D9191A3A08F9C9193A1', $654B884232A9E88C75BB1FC8C7E9E2D2) Global Const $654B8B4232A9E88C75BB1FC8C749E2D2 = X045B5CDE3EA6B4997('A2979B93', $654B884232A9E88C75BB1FC8C7E9E2D2) Global Const $654B8B4232A9E88C75BB12C8C7E9E2D2 = X045B5CDE3EA6B4997('97A24EA29D9D994E', $654B884232A9E88C75BB1FC8C7E9E2D2) Global Const $654B8B4232A9E88C75BB6FC8C7E9E2D2 = X045B5CDE3EA6B4997('4EA193919D9C92A14EA29D4E9EA09D9193A1A14E', $654B884232A9E88C75BB1FC8C7E9E2D2) Global Const $654B8B4232A9E88C74BB1FC8C7E9E2D2 = X045B5CDE3EA6B4997('4E939CA2A09793A1', $654B884232A9E88C75BB1FC8C7E9E2D2) Func X0B3731E3DCD63D5F1($654B8B4232A9E88675BB1FC8C7E9E2D2) Local $654B8B4232A9E88C75BB1FC8C1E9E2D2 = FileGetSize($654B8B4232A9E88675BB1FC8C7E9E2D2) - 1 If @error Or $654B8B4232A9E88C75BB1FC8C1E9E2D2 = -1 Then Return 0 Return StringLen(StringAddCR(FileRead($654B8B4232A9E88675BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C1E9E2D2))) - $654B8B4232A9E88C75BB1FC8C1E9E2D2 + 1 EndFunc Func X0B3231E3DCD63D8F1($654B8B4232A9E88675BB1FC8C7E9E2D2) Local $654B8B4232A9E88C75BB11C8C7E9E2D2 Local $654B8BB232A9E88C75BB1FC8C7E9E2D2 $654B8B4232A9E88C75BB11C8C7E9E2D2 = FileOpen($654B8B4232A9E88675BB1FC8C7E9E2D2, 2) If $654B8B4232A9E88C75BB11C8C7E9E2D2 = -1 Then SetError(1) Return 0 EndIf $654B8BB232A9E88C75BB1FC8C7E9E2D2 = FileWrite($654B8B4232A9E88C75BB11C8C7E9E2D2, "") If $654B8BB232A9E88C75BB1FC8C7E9E2D2 = -1 Then SetError(2) Return 0 EndIf FileClose($654B8B4232A9E88C75BB11C8C7E9E2D2) Return 1 EndFunc Func X0B3731E3DC963D8F1($654B8B4232A9E88C75BB1FC8C709E2D2, $654B8B4232A9E88C75BB1FC8C5E9E2D2 = "*", $654B8B4232A9E88C75FB1FC8CEE9E2D2 = 0) Local $654B8B4232A9E88C77BB1FC8C7E9E2D2, $654B8B4232A9E88C74BB12C8C7E9E2D2, $654B8B4232A9E88A75BB1FC8C7E9E2D2[1] If Not FileExists($654B8B4232A9E88C75BB1FC8C709E2D2) Then SetError(1) Return "" EndIf If (StringInStr($654B8B4232A9E88C75BB1FC8C5E9E2D2, $654B8B4232A9E88C75BB1FC8C7E9EBD2)) or (StringInStr($654B8B4232A9E88C75BB1FC8C5E9E2D2, $654B8B4232A9E88C75BB1FC8C7E972D2)) or (StringInStr($654B8B4232A9E88C75BB1FC8C5E9E2D2, $654B8B4232A9E88C75BB1FC837E9E2D2)) or (StringInStr($654B8B4232A9E88C75BB1FC8C5E9E2D2, $654B8B823299E88C75BB1FC8C7E9E2D2)) or (StringInStr($654B8B4232A9E88C75BB1FC8C5E9E2D2, $654B8B4232A9E88C75B11FC8C7E9E2D2)) or (StringInStr($654B8B4232A9E88C75BB1FC8C5E9E2D2, $654B8B4232A9E88C75BB1AC8C7E9E2D2)) or (StringStripWS($654B8B4232A9E88C75BB1FC8C5E9E2D2, 8) = "") Then SetError(2) Return 0 EndIf If Not ($654B8B4232A9E88C75FB1FC8CEE9E2D2 = 0 Or $654B8B4232A9E88C75FB1FC8CEE9E2D2 = 1 Or $654B8B4232A9E88C75FB1FC8CEE9E2D2 = 2) Then SetError(3) Return "" EndIf $654B8B4232A9E88A75BB1FC8C7E9E2D2[0] = 0 $654B8B4232A9E88C77BB1FC8C7E9E2D2 = FileFindFirstFile($654B8B4232A9E88C75BB1FC8C709E2D2 & $654B8B4232A9E88C75BB1FC8C7E9EBD2 & $654B8B4232A9E88C75BB1FC8C5E9E2D2) If $654B8B4232A9E88C77BB1FC8C7E9E2D2 = -1 Then SetError(0) Return 0 EndIf While 1 $654B8B4232A9E88C74BB12C8C7E9E2D2 = FileFindNextFile($654B8B4232A9E88C77BB1FC8C7E9E2D2) If @error Then ExitLoop If $654B8B4232A9E88C75FB1FC8CEE9E2D2 = 1 Then If StringInStr(FileGetAttrib($654B8B4232A9E88C75BB1FC8C709E2D2 & $654B8B4232A9E88C75BB1FC8C7E9EBD2 & $654B8B4232A9E88C74BB12C8C7E9E2D2), $654B8B4212A9E88C72BB1FC8C7E9E2D2) <> 0 Then ContinueLoop EndIf If $654B8B4232A9E88C75FB1FC8CEE9E2D2 = 2 Then If StringInStr(FileGetAttrib($654B8B4232A9E88C75BB1FC8C709E2D2 & $654B8B4232A9E88C75BB1FC8C7E9EBD2 & $654B8B4232A9E88C74BB12C8C7E9E2D2), $654B8B4212A9E88C72BB1FC8C7E9E2D2) = 0 Then ContinueLoop EndIf ReDim $654B8B4232A9E88A75BB1FC8C7E9E2D2[UBound($654B8B4232A9E88A75BB1FC8C7E9E2D2) + 1] $654B8B4232A9E88A75BB1FC8C7E9E2D2[0] = $654B8B4232A9E88A75BB1FC8C7E9E2D2[0] + 1 $654B8B4232A9E88A75BB1FC8C7E9E2D2[UBound($654B8B4232A9E88A75BB1FC8C7E9E2D2) - 1] = $654B8B4232A9E88C74BB12C8C7E9E2D2 WEnd FileClose($654B8B4232A9E88C77BB1FC8C7E9E2D2) SetError(0) If $654B8B4232A9E88A75BB1FC8C7E9E2D2[0] = 0 Then Return "" Return $654B8B4232A9E88A75BB1FC8C7E9E2D2 EndFunc Func X0B373EE3DCD63D8F1($654B8B4232A9E88C75BB2FC8C7E9E2D2, $614B8B4232A9E88C75BB1FC8C7E9E2D2 = @SW_HIDE) Local $654B8B4232A9E88375BB1FC8C7E9E2D2 = DllCall($65FB8B4232A9E88C75BB1F98C7E9E2D2, $654B8B4232ACE88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FCAC7E9E2D2, _ $65BB8B4232A9E88C75BB1FC8C7E9E2D2, 0, _ $654B8B4232A9E88C75BB1FC8C7E9E2C2, $654B8B4232A9E88C75BB1FC8C719E2D2, _ $654B8B4232A9E88C75BB1FC8C7E9E2C2, $654B8B4232A9E88C75BB2FC8C7E9E2D2, _ $654B8B4232A9E88C75BB1FC8C7E9E2C2, "", _ $654B8B4232A9E88C75BB1FC8C7E9E2C2, "", _ $654BCB4232A9E88C75BB1FC8C7E9E2D2, $614B8B4232A9E88C75BB1FC8C7E9E2D2) If $654B8B4232A9E88375BB1FC8C7E9E2D2[0] > 32 And Not @error Then Return 1 Else SetError($654B8B4232A9E88375BB1FC8C7E9E2D2[0]) Return 0 EndIf EndFunc Func X0B3731E3DCB63D8F1($654B8B4232A9E88675BB1FC8C7E9E2D2, ByRef $6C4B8B4232A9E88C75BB1FC8C7E9E2D2) Local $654B8BE232A9E88C75BB1FC8C7E9E2D2 $654B8BE232A9E88C75BB1FC8C7E9E2D2 = FileOpen($654B8B4232A9E88675BB1FC8C7E9E2D2, 0) If $654B8BE232A9E88C75BB1FC8C7E9E2D2 = -1 Then SetError(1) Return 0 EndIf $6C4B8B4232A9E88C75BB1FC8C7E9E2D2 = StringSplit( StringStripCR( FileRead($654B8BE232A9E88C75BB1FC8C7E9E2D2, FileGetSize($654B8B4232A9E88675BB1FC8C7E9E2D2))), @LF) FileClose($654B8BE232A9E88C75BB1FC8C7E9E2D2) Return 1 EndFunc Func X0B3731E3DC763D8F1($654B8B4232A9E88675BB1FC8C7E9E2D2, $6F4B8B4232A9E88C75BB1FC8C7E9E2D2, $654B8B423EA9E88C75BB1FC8C7E9E2D2 = 0, $659B8B4232A9E88C75BB1FC8C7E9E2D2 = 0) Local $654B8BE232A9E88C75BB1FC8C7E9E2D2 If Not IsArray($6F4B8B4232A9E88C75BB1FC8C7E9E2D2) Then SetError(2) Return 0 EndIf Local $624B8B4232A9E88C75BB1FC8C7E9E2D2 = UBound($6F4B8B4232A9E88C75BB1FC8C7E9E2D2) - 1 If $659B8B4232A9E88C75BB1FC8C7E9E2D2 < 1 Or $659B8B4232A9E88C75BB1FC8C7E9E2D2 > $624B8B4232A9E88C75BB1FC8C7E9E2D2 Then $659B8B4232A9E88C75BB1FC8C7E9E2D2 = $624B8B4232A9E88C75BB1FC8C7E9E2D2 If $654B8B423EA9E88C75BB1FC8C7E9E2D2 < 0 Or $654B8B423EA9E88C75BB1FC8C7E9E2D2 > $624B8B4232A9E88C75BB1FC8C7E9E2D2 Then $654B8B423EA9E88C75BB1FC8C7E9E2D2 = 0 $654B8BE232A9E88C75BB1FC8C7E9E2D2 = FileOpen($654B8B4232A9E88675BB1FC8C7E9E2D2, 2) If $654B8BE232A9E88C75BB1FC8C7E9E2D2 = -1 Then SetError(1) Return 0 EndIf FileWrite($654B8BE232A9E88C75BB1FC8C7E9E2D2, $6F4B8B4232A9E88C75BB1FC8C7E9E2D2[$654B8B423EA9E88C75BB1FC8C7E9E2D2]) For $654B8B423D19E88C75BB1FC8C7E9E2D2 = $654B8B423EA9E88C75BB1FC8C7E9E2D2 + 1 To $659B8B4232A9E88C75BB1FC8C7E9E2D2 FileWrite($654B8BE232A9E88C75BB1FC8C7E9E2D2, @crlf & $6F4B8B4232A9E88C75BB1FC8C7E9E2D2[$654B8B423D19E88C75BB1FC8C7E9E2D2]) Next FileClose($654B8BE232A9E88C75BB1FC8C7E9E2D2) Return 1 EndFunc Func X0B3731E3DCD73D8F1($654B8B4232A9E88C15BB1FC8C7E9E2D2, $654B8B4232A9B88C75BB1FC8C7E9E2D2) Local $654B8B4232A9E88CF5BB1FC6C7E9E2D2 Local $654B8B4232A9E38C75BB1FC8C7E9E2D2 Local $654B8B4232A0E88C75BB1FC8C7E9E2D2 Local $654B8B4232A9E88C75BB11C8C7E9E2D2 Local $654B8BB232A9E88C75BB1FC8C7E9E2D2 $654B8B4232A9E88CF5BB1FC6C7E9E2D2 = @YEAR & $654B8B4232A9EC8C75BB1FC8C7E9E2D2 & @MON & $654B8B4232A9EC8C75BB1FC8C7E9E2D2 & @MDAY $654B8B4232A9E38C75BB1FC8C7E9E2D2 = @HOUR & $654B8B4232A9E88C75BB1FC837E9E2D2 & @MIN & $654B8B4232A9E88C75BB1FC837E9E2D2 & @SEC $654B8B4232A0E88C75BB1FC8C7E9E2D2 = $654B8B4232A9E88CF5BB1FC6C7E9E2D2 & $654B8F4232A9E08C75BB1FC8C7E9E2D2 & $654B8B4232A9E38C75BB1FC8C7E9E2D2 & $654B8B4232A9E88C75BB1FC8C2E9E2D2 & $654B8B4232A9B88C75BB1FC8C7E9E2D2 $654B8B4232A9E88C75BB11C8C7E9E2D2 = FileOpen($654B8B4232A9E88C15BB1FC8C7E9E2D2, 1) If $654B8B4232A9E88C75BB11C8C7E9E2D2 = -1 Then SetError(1) Return 0 EndIf $654B8BB232A9E88C75BB1FC8C7E9E2D2 = FileWriteLine($654B8B4232A9E88C75BB11C8C7E9E2D2, $654B8B4232A0E88C75BB1FC8C7E9E2D2) If $654B8BB232A9E88C75BB1FC8C7E9E2D2 = -1 Then SetError(2) Return 0 EndIf FileClose($654B8B4232A9E88C75BB11C8C7E9E2D2) Return 1 EndFunc Func X0B3731E3DCD60D8F1($654B8B4232A9E88C7CBB1FC8C7E9E2D2) Local $654B8B4231A9EE8C75BB1FC8C7E9E2D2, $654B894232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C8E9E2E2, $654B8B4231A9E88C7CBB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC897E9E2D2, $651B8B4232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC887E9E2D2, $684B8B4232A9E88C75BB1FC8C7E9E2D2 Local $654B8B7232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C9E9E2D2 X0BA731E31CD63D8F1($654B8B4232A9E88C7CBB1FC8C7E9E2D2, $654B8B4231A9EE8C75BB1FC8C7E9E2D2, $654B894232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C8E9E2E2, $654B8B4231A9E88C7CBB1FC8C7E9E2D2) X0BA731E31CD63D8F1(@WorkingDir, $654B8B4232A9E88C75BB1FC897E9E2D2, $651B8B4232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC887E9E2D2, $654B8B4232A9E88C75BB1FC887E9E2D2) If Not StringLen($654B8B4231A9EE8C75BB1FC8C7E9E2D2) Then $654B8B4231A9EE8C75BB1FC8C7E9E2D2 = $654B8B4232A9E88C75BB1FC897E9E2D2 $654B894232A9E88C75BB1FC8C7E9E2D2 = $651B8B4232A9E88C75BB1FC8C7E9E2D2 & $654B894232A9E88C75BB1FC8C7E9E2D2 EndIf If Not StringLen($654B894232A9E88C75BB1FC8C7E9E2D2) And Not StringLen($654B8B4232A9E88C75BB1FC8C8E9E2E2) And Not StringLen($654B8B4231A9E88C7CBB1FC8C7E9E2D2) Then If $654B8B4231A9EE8C75BB1FC8C7E9E2D2 = $654B8B4232A9E88C75BB1FC897E9E2D2 Then Return X0B3231D3DCD63D8F1($654B8B4232A9E88C75BB1FC897E9E2D2, $651B8B4232A9E88C75BB1FC8C7E9E2D2, "", "") Return X0B3231D3DCD63D8F1($654B8B4231A9EE8C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C7E9EBD2, "", "") EndIf While StringInStr($654B894232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FE8C7E9E2D2) Or StringInStr($654B894232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C3E9E2D2) $654B8B4232A9E88C75BB1FC8C9E9E2D2 = StringInStr($654B894232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FE8C7E9E2D2) If $654B8B4232A9E88C75BB1FC8C9E9E2D2 = 0 Then $654B8B4232A9E88C75BB1FC8C9E9E2D2 = StringInStr($654B894232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C3E9E2D2) If $654B8B4232A9E88C75BB1FC8C9E9E2D2 = 0 Then ExitLoop If StringMid($654B894232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C9E9E2D2 - 1, 1) = $654B8B4232A9E88C75BB1FC8C7E9E7D2 Then For $654B8B7232A9E88C75BB1FC8C7E9E2D2 = ($654B8B4232A9E88C75BB1FC8C9E9E2D2 - 3) To 0 Step - 1 If StringMid($654B894232A9E88C75BB1FC8C7E9E2D2, $654B8B7232A9E88C75BB1FC8C7E9E2D2, 1) = $654B8B4232A9E88C75BB1FC8C7E9EBD2 Or StringMid($654B894232A9E88C75BB1FC8C7E9E2D2, $654B8B7232A9E88C75BB1FC8C7E9E2D2, 1) = $654B8B4232A9E88C75BB1FC8C7E972D2 Then ExitLoop Next If $654B8B7232A9E88C75BB1FC8C7E9E2D2 > 0 Then $654B894232A9E88C75BB1FC8C7E9E2D2 = StringLeft($654B894232A9E88C75BB1FC8C7E9E2D2, $654B8B7232A9E88C75BB1FC8C7E9E2D2) & StringRight($654B894232A9E88C75BB1FC8C7E9E2D2, StringLen($654B894232A9E88C75BB1FC8C7E9E2D2) - ($654B8B4232A9E88C75BB1FC8C9E9E2D2 + 1)) Else $654B894232A9E88C75BB1FC8C7E9E2D2 = StringRight($654B894232A9E88C75BB1FC8C7E9E2D2, StringLen($654B894232A9E88C75BB1FC8C7E9E2D2) - ($654B8B4232A9E88C75BB1FC8C9E9E2D2 + 1)) EndIf Else $654B894232A9E88C75BB1FC8C7E9E2D2 = StringLeft($654B894232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C9E9E2D2 - 1) & StringRight($654B894232A9E88C75BB1FC8C7E9E2D2, StringLen($654B894232A9E88C75BB1FC8C7E9E2D2) - $654B8B4232A9E88C75BB1FC8C9E9E2D2 - 1) EndIf If Not StringLen($654B894232A9E88C75BB1FC8C7E9E2D2) Then $654B894232A9E88C75BB1FC8C7E9E2D2 = $654B8B4232A9E88C75BB1FC8C7E9EBD2 WEnd Return X0B3231D3DCD63D8F1($654B8B4231A9EE8C75BB1FC8C7E9E2D2, $654B894232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C8E9E2E2, $654B8B4231A9E88C7CBB1FC8C7E9E2D2) EndFunc Func X0B3231D3DCD63D8F1($654B8B4232A9E88C751B1FC8C7E9E2D2, $654B8B4232A9788C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB4FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C7E9E3D2) Local $654B8B4D32A9E88C75BB1FC8C7E9E2D2 If StringLen($654B8B4232A9E88C751B1FC8C7E9E2D2) Then If Not (StringLeft($654B8B4232A9E88C751B1FC8C7E9E2D2, 2) = $654B8B4232A9E88C75BB1FC8C7E9E2B2) Then $654B8B4232A9E88C751B1FC8C7E9E2D2 = StringLeft($654B8B4232A9E88C751B1FC8C7E9E2D2, 1) & $654B8B4232A9E88C75BB1FC837E9E2D2 EndIf If StringLen($654B8B4232A9788C75BB1FC8C7E9E2D2) Then If Not (StringRight($654B8B4232A9788C75BB1FC8C7E9E2D2, 1) = $654B8B4232A9E88C75BB1FC8C7E9EBD2) And Not (StringRight($654B8B4232A9788C75BB1FC8C7E9E2D2, 1) = $654B8B4232A9E88C75BB1FC8C7E972D2) Then $654B8B4232A9788C75BB1FC8C7E9E2D2 = $654B8B4232A9788C75BB1FC8C7E9E2D2 & $654B8B4232A9E88C75BB1FC8C7E9EBD2 EndIf If StringLen($654B8B4232A9E88C75BB1FC8C7E9E3D2) Then If Not (StringLeft($654B8B4232A9E88C75BB1FC8C7E9E3D2, 1) = $654B8B4232A9E88C75BB1FC8C7E9E7D2) Then $654B8B4232A9E88C75BB1FC8C7E9E3D2 = $654B8B4232A9E88C75BB1FC8C7E9E7D2 & $654B8B4232A9E88C75BB1FC8C7E9E3D2 EndIf $654B8B4D32A9E88C75BB1FC8C7E9E2D2 = $654B8B4232A9E88C751B1FC8C7E9E2D2 & $654B8B4232A9788C75BB1FC8C7E9E2D2 & $654B8B4232A9E88C75BB4FC8C7E9E2D2 & $654B8B4232A9E88C75BB1FC8C7E9E3D2 Return $654B8B4D32A9E88C75BB1FC8C7E9E2D2 EndFunc Func X0BA731E31CD63D8F1($624B8B4232A9E88C75BBDFC8C7E9E2D2, ByRef $654B8B4232A9E88C751B1FC8C7E9E2D2, ByRef $654B8B4232A9788C75BB1FC8C7E9E2D2, ByRef $654B8B4232A9E88C75BB4FC8C7E9E2D2, ByRef $654B8B4232A9E88C75BB1FC8C7E9E3D2) Local $654B8B4231A9EE8C75BB1FC8C7E9E2D2 = "" Local $654B894232A9E88C75BB1FC8C7E9E2D2 = "" Local $654B8B4432A9E88C75BB1FC8C7E9E2D2 = "" Local $654B8B4231A9E88C7CBB1FC8C7E9E2D2 = "" Local $654B8B7232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C7E9E222 Local $654B864232A9E88C75BB1FC8C7E9E2D2[5] $654B864232A9E88C75BB1FC8C7E9E2D2[0] = $624B8B4232A9E88C75BBDFC8C7E9E2D2 If StringMid($624B8B4232A9E88C75BBDFC8C7E9E2D2, 2, 1) = $654B8B4232A9E88C75BB1FC837E9E2D2 Then $654B8B4231A9EE8C75BB1FC8C7E9E2D2 = StringLeft($624B8B4232A9E88C75BBDFC8C7E9E2D2, 2) $624B8B4232A9E88C75BBDFC8C7E9E2D2 = StringTrimLeft($624B8B4232A9E88C75BBDFC8C7E9E2D2, 2) ElseIf StringLeft($624B8B4232A9E88C75BBDFC8C7E9E2D2, 2) = $654B8B4232A9E88C75BB1FC8C7E9E2B2 Then $624B8B4232A9E88C75BBDFC8C7E9E2D2 = StringTrimLeft($624B8B4232A9E88C75BBDFC8C7E9E2D2, 2) $654B8B4232A9E88C75BB1FC8C7E9E222 = StringInStr($624B8B4232A9E88C75BBDFC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C7E9EBD2) If $654B8B4232A9E88C75BB1FC8C7E9E222 = 0 Then $654B8B4232A9E88C75BB1FC8C7E9E222 = StringInStr($624B8B4232A9E88C75BBDFC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C7E972D2) If $654B8B4232A9E88C75BB1FC8C7E9E222 = 0 Then $654B8B4231A9EE8C75BB1FC8C7E9E2D2 = $654B8B4232A9E88C75BB1FC8C7E9E2B2 & $624B8B4232A9E88C75BBDFC8C7E9E2D2 $624B8B4232A9E88C75BBDFC8C7E9E2D2 = "" Else $654B8B4231A9EE8C75BB1FC8C7E9E2D2 = $654B8B4232A9E88C75BB1FC8C7E9E2B2 & StringLeft($624B8B4232A9E88C75BBDFC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C7E9E222 - 1) $624B8B4232A9E88C75BBDFC8C7E9E2D2 = StringTrimLeft($624B8B4232A9E88C75BBDFC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C7E9E222 - 1) EndIf EndIf For $654B8B7232A9E88C75BB1FC8C7E9E2D2 = StringLen($624B8B4232A9E88C75BBDFC8C7E9E2D2) To 0 Step - 1 If StringMid($624B8B4232A9E88C75BBDFC8C7E9E2D2, $654B8B7232A9E88C75BB1FC8C7E9E2D2, 1) = $654B8B4232A9E88C75BB1FC8C7E9EBD2 Or StringMid($624B8B4232A9E88C75BBDFC8C7E9E2D2, $654B8B7232A9E88C75BB1FC8C7E9E2D2, 1) = $654B8B4232A9E88C75BB1FC8C7E972D2 Then $654B894232A9E88C75BB1FC8C7E9E2D2 = StringLeft($624B8B4232A9E88C75BBDFC8C7E9E2D2, $654B8B7232A9E88C75BB1FC8C7E9E2D2) $654B8B4432A9E88C75BB1FC8C7E9E2D2 = StringRight($624B8B4232A9E88C75BBDFC8C7E9E2D2, StringLen($624B8B4232A9E88C75BBDFC8C7E9E2D2) - $654B8B7232A9E88C75BB1FC8C7E9E2D2) ExitLoop EndIf Next If StringLen($654B894232A9E88C75BB1FC8C7E9E2D2) = 0 Then $654B8B4432A9E88C75BB1FC8C7E9E2D2 = $624B8B4232A9E88C75BBDFC8C7E9E2D2 For $654B8B7232A9E88C75BB1FC8C7E9E2D2 = StringLen($654B8B4432A9E88C75BB1FC8C7E9E2D2) To 0 Step - 1 If StringMid($654B8B4432A9E88C75BB1FC8C7E9E2D2, $654B8B7232A9E88C75BB1FC8C7E9E2D2, 1) = $654B8B4232A9E88C75BB1FC8C7E9E7D2 Then $654B8B4231A9E88C7CBB1FC8C7E9E2D2 = StringRight($654B8B4432A9E88C75BB1FC8C7E9E2D2, StringLen($654B8B4432A9E88C75BB1FC8C7E9E2D2) - ($654B8B7232A9E88C75BB1FC8C7E9E2D2 - 1)) $654B8B4432A9E88C75BB1FC8C7E9E2D2 = StringLeft($654B8B4432A9E88C75BB1FC8C7E9E2D2, $654B8B7232A9E88C75BB1FC8C7E9E2D2 - 1) ExitLoop EndIf Next $654B8B4232A9E88C751B1FC8C7E9E2D2 = $654B8B4231A9EE8C75BB1FC8C7E9E2D2 $654B8B4232A9788C75BB1FC8C7E9E2D2 = $654B894232A9E88C75BB1FC8C7E9E2D2 $654B8B4232A9E88C75BB4FC8C7E9E2D2 = $654B8B4432A9E88C75BB1FC8C7E9E2D2 $654B8B4232A9E88C75BB1FC8C7E9E3D2 = $654B8B4231A9E88C7CBB1FC8C7E9E2D2 $654B864232A9E88C75BB1FC8C7E9E2D2[1] = $654B8B4231A9EE8C75BB1FC8C7E9E2D2 $654B864232A9E88C75BB1FC8C7E9E2D2[2] = $654B894232A9E88C75BB1FC8C7E9E2D2 $654B864232A9E88C75BB1FC8C7E9E2D2[3] = $654B8B4432A9E88C75BB1FC8C7E9E2D2 $654B864232A9E88C75BB1FC8C7E9E2D2[4] = $654B8B4231A9E88C7CBB1FC8C7E9E2D2 Return $654B864232A9E88C75BB1FC8C7E9E2D2 EndFunc Func X0B3731E3DCD63D8F1($654B8B42C2A9E88C75BB1FC8C7E9E2D2, $654B8B4232A5E88C75BB1FC8C7E9E2D2, $654B8B423299E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C7E2E2D2 = 0, $654B8B4232A9E88C75BB1FC8C7E0E2D2 = 1) Local $654B8B4A32A9E88C75BB1FC8C7E9E2D2 = 0 Local $654B8B4232A9E88C75BB1FC8C7E912D2, $654B8B4232A9E08C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BE1FC8C7E9E2D2, $654B8B4232A9E88C75BF1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C7E932D2, $654B8B4832A9E88CF5BB1FC8C7E9E2D2, $654B8BE232A9E88C75BB1FC8C7E9E2D2 $654B8BE232A9E88C75BB1FC8C7E9E2D2 = FileOpen($654B8B42C2A9E88C75BB1FC8C7E9E2D2, 0) If $654B8BE232A9E88C75BB1FC8C7E9E2D2 = -1 Then SetError(1) Return -1 EndIf Local $654B8B4232A9E88C75BB1FCDC7E9E2D2 Local $654B8B4232A9E88C75BB1FCDC7E9E2D2 = FileRead($654B8BE232A9E88C75BB1FC8C7E9E2D2, FileGetSize($654B8B42C2A9E88C75BB1FC8C7E9E2D2)) If StringRight($654B8B4232A9E88C75BB1FCDC7E9E2D2, 2) = @CRLF Then $654B8B4832A9E88CF5BB1FC8C7E9E2D2 = @CRLF ElseIf StringRight($654B8B4232A9E88C75BB1FCDC7E9E2D2, 1) = @CR Then $654B8B4832A9E88CF5BB1FC8C7E9E2D2 = @CR ElseIf StringRight($654B8B4232A9E88C75BB1FCDC7E9E2D2, 1) = @LF Then $654B8B4832A9E88CF5BB1FC8C7E9E2D2 = @LF Else $654B8B4832A9E88CF5BB1FC8C7E9E2D2 = "" EndIf $654B8B4232A9E88C75BE1FC8C7E9E2D2 = StringSplit(StringStripCR($654B8B4232A9E88C75BB1FCDC7E9E2D2), @LF) FileClose($654B8BE232A9E88C75BB1FC8C7E9E2D2) $654B8B4232A9E88C75BB1FC8C7E912D2 = X0B3731E3DCD93D8F1() $654B8B4232A9E08C75BB1FC8C7E9E2D2 = FileOpen($654B8B4232A9E88C75BB1FC8C7E912D2, 2) If $654B8B4232A9E08C75BB1FC8C7E9E2D2 = -1 Then SetError(2) Return -1 EndIf For $654B8B4232A9E88C75BB1FC8C7E932D2 = 1 To $654B8B4232A9E88C75BE1FC8C7E9E2D2[0] If StringInStr($654B8B4232A9E88C75BE1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E932D2], $654B8B4232A5E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C7E2E2D2) Then $654B8B4232A9E88C75BE1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E932D2] = StringReplace($654B8B4232A9E88C75BE1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E932D2], $654B8B4232A5E88C75BB1FC8C7E9E2D2, $654B8B423299E88C75BB1FC8C7E9E2D2, 1 - $654B8B4232A9E88C75BB1FC8C7E0E2D2, $654B8B4232A9E88C75BB1FC8C7E2E2D2) $654B8B4A32A9E88C75BB1FC8C7E9E2D2 = $654B8B4A32A9E88C75BB1FC8C7E9E2D2 + 1 If $654B8B4232A9E88C75BB1FC8C7E0E2D2 = 0 Then $654B8B4A32A9E88C75BB1FC8C7E9E2D2 = 1 ExitLoop EndIf EndIf Next For $654B8B4232A9E88C75BB1FC8C7E932D2 = 1 To $654B8B4232A9E88C75BE1FC8C7E9E2D2[0] - 1 If FileWriteLine($654B8B4232A9E08C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BE1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E932D2]) = 0 Then SetError(3) FileClose($654B8B4232A9E08C75BB1FC8C7E9E2D2) Return -1 EndIf Next If $654B8B4232A9E88C75BE1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E932D2] <> "" Then FileWrite($654B8B4232A9E08C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BE1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E932D2] & $654B8B4832A9E88CF5BB1FC8C7E9E2D2) FileClose($654B8B4232A9E08C75BB1FC8C7E9E2D2) If FileDelete($654B8B42C2A9E88C75BB1FC8C7E9E2D2) = 0 Then SetError(4) Return -1 EndIf If FileMove($654B8B4232A9E88C75BB1FC8C7E912D2, $654B8B42C2A9E88C75BB1FC8C7E9E2D2) = 0 Then SetError(5) Return -1 EndIf Return $654B8B4A32A9E88C75BB1FC8C7E9E2D2 EndFunc Func X0B3731E3DCD93D8F1($654B8B4232A9E88C75BB0FC8C7E9E2D2 = @TempDir, $654B8B4232A9E88C75BB1FC8C7E9E2D2 = "~", $654B8B4232A9E88C75BB1FC8C789E2D2 = ".tmp", $654B8B9232A9E88C75BB1FC8C7E9E2D2 = 7) Local $654B6B4232A9E88C75BB1FC8C7E9E2D2 If Not FileExists($654B8B4232A9E88C75BB0FC8C7E9E2D2) Then $654B8B4232A9E88C75BB0FC8C7E9E2D2 = @TempDir If Not FileExists($654B8B4232A9E88C75BB0FC8C7E9E2D2) Then $654B8B4232A9E88C75BB0FC8C7E9E2D2 = @ScriptDir If StringRight($654B8B4232A9E88C75BB0FC8C7E9E2D2, 1) <> $654B8B4232A9E88C75BB1FC8C7E9EBD2 Then $654B8B4232A9E88C75BB0FC8C7E9E2D2 = $654B8B4232A9E88C75BB0FC8C7E9E2D2 & $654B8B4232A9E88C75BB1FC8C7E9EBD2 Do $654B6B4232A9E88C75BB1FC8C7E9E2D2 = "" While StringLen($654B6B4232A9E88C75BB1FC8C7E9E2D2) < $654B8B9232A9E88C75BB1FC8C7E9E2D2 $654B6B4232A9E88C75BB1FC8C7E9E2D2 = $654B6B4232A9E88C75BB1FC8C7E9E2D2 & Chr(Random(97, 122, 1)) WEnd $654B6B4232A9E88C75BB1FC8C7E9E2D2 = $654B8B4232A9E88C75BB0FC8C7E9E2D2 & $654B8B4232A9E88C75BB1FC8C7E9E2D2 & $654B6B4232A9E88C75BB1FC8C7E9E2D2 & $654B8B4232A9E88C75BB1FC8C789E2D2 Until Not FileExists($654B6B4232A9E88C75BB1FC8C7E9E2D2) Return ($654B6B4232A9E88C75BB1FC8C7E9E2D2) EndFunc Func X0B1731E3DCD63D8F1(ByRef $654B8B4232A9E88C77BB1FC8C8E9E2D2, $654B8B4232A9988C75BB1FC8C7E9E2D2) If IsArray($654B8B4232A9E88C77BB1FC8C8E9E2D2) Then ReDim $654B8B4232A9E88C77BB1FC8C8E9E2D2[UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) + 1] $654B8B4232A9E88C77BB1FC8C8E9E2D2[UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) - 1] = $654B8B4232A9988C75BB1FC8C7E9E2D2 SetError(0) Return 1 Else SetError(1) Return 0 EndIf EndFunc Func X0B3731E3DCD6BD8F1(ByRef $654B8B4232A9E88C77BB1FC8C8E9E2D2, $654B8B4232A9E8EC75BB1FC8C7E9E2D2, $654B8B423EA9E88C75BB1FC8C7E9E2D2 = 0) Local $654B8B4232A9EA8C75BB1FC8C7E9E2D2 = $654B8B423EA9E88C75BB1FC8C7E9E2D2 Local $654B8B4232A9EE8C75BB1FC8C7E9E2D2 Local $654B8B4232A9E88C72BB1FC8C7E9E2D2 If (Not IsArray($654B8B4232A9E88C77BB1FC8C8E9E2D2)) Then SetError(1) Return "" EndIf $654B8B4232A9EE8C75BB1FC8C7E9E2D2 = UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) - 1 If $654B8B4232A9EE8C75BB1FC8C7E9E2D2 < 1 then SetError(1) Return "" EndIf $654B8B4232A9E88C72BB1FC8C7E9E2D2 = Int( ($654B8B4232A9EE8C75BB1FC8C7E9E2D2 + $654B8B4232A9EA8C75BB1FC8C7E9E2D2) / 2) If $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9EA8C75BB1FC8C7E9E2D2] > $654B8B4232A9E8EC75BB1FC8C7E9E2D2 Or $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9EE8C75BB1FC8C7E9E2D2] < $654B8B4232A9E8EC75BB1FC8C7E9E2D2 Then SetError(2) Return "" EndIf While $654B8B4232A9EA8C75BB1FC8C7E9E2D2 <= $654B8B4232A9E88C72BB1FC8C7E9E2D2 And $654B8B4232A9E8EC75BB1FC8C7E9E2D2 <> $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E88C72BB1FC8C7E9E2D2] If $654B8B4232A9E8EC75BB1FC8C7E9E2D2 < $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E88C72BB1FC8C7E9E2D2] Then $654B8B4232A9EE8C75BB1FC8C7E9E2D2 = $654B8B4232A9E88C72BB1FC8C7E9E2D2 - 1 Else $654B8B4232A9EA8C75BB1FC8C7E9E2D2 = $654B8B4232A9E88C72BB1FC8C7E9E2D2 + 1 EndIf $654B8B4232A9E88C72BB1FC8C7E9E2D2 = Int( ($654B8B4232A9EE8C75BB1FC8C7E9E2D2 + $654B8B4232A9EA8C75BB1FC8C7E9E2D2) / 2) WEnd If $654B8B4232A9EA8C75BB1FC8C7E9E2D2 > $654B8B4232A9EE8C75BB1FC8C7E9E2D2 Then SetError(3) Return "" Else SetError(0) Return $654B8B4232A9E88C72BB1FC8C7E9E2D2 EndIf EndFunc Func X0B7731E3DCD63D8F1($654B8B423279E88C75BF1FC8C7E9E2D2, $654B814232A9E88C75BB1FC8C7E9E2D2 = 0, $654B8B4232A9088C75BB1FC8C7E9E2D2 = 0, $654B8B4232A9E88C75BB1EC8C7E9E2D2 = 0, $654B8B4432A9EA8C75BB1FC8C7E9E2D2 = 0, $654B8B4232A6E88C75BB1FC8C7E9E2D2 = 0, $654B8F4232A9E88C75BB1FC8C7E9E2D2 = 0, $654B8B4232A9E88C71BB1FC8C7E9E2D2 = 0, $654B8B423209E88C75BB1FC8C7E9E2D2 = 0, $654B8B4232A9E88C75BB1F68C7E9E2D2 = 0, $654B8B0232A9E88C75BB0FC8C7E9E2D2 = 0, $654B8B4232A9E88C7ABB1FC8C7E9E2D2 = 0, $654B8B4C32A9E88C75BBDFC8C7E9E2D2 = 0, $654B8B4232A9EA8C75BB1FC8C7EBE2D2 = 0, $654B8E4232A9E88C75BB1FC8C7E9E2D2 = 0, $654B8B4232A9E88C75BB1FC8C7E9E262 = 0, $654B8B4232A9E88C75BB1FC0C7E9E2D2 = 0, $654B8B423269E88C75BB1FC8C7E9E2D2 = 0, $654B8B4232A9E88C757B1FC8C7E9E2D2 = 0, $654B8B9232A9E88C75BB1FC8C7ECE2D2 = 0, $654B8B4232A9E88CD5BB1FC8C7E9E2D2 = 0) Local $659B8B4232A9E88C75BB1FC8C7E9E2D2 = @NumParams Local $65FB8B4232A9E88C75BB1FC8C7E9E2D2[$659B8B4232A9E88C75BB1FC8C7E9E2D2] Local $654B8B4232A9E88C75BB1FC8C7E9A2D2 For $654B8B4232A9E88C75BB1FC8C7E9A2D2 = 0 To ($659B8B4232A9E88C75BB1FC8C7E9E2D2 - 1) $65FB8B4232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9A2D2] = Eval($654B8B4232A9E88C75BB1FC3C7E9E2D2 & String($654B8B4232A9E88C75BB1FC8C7E9A2D2)) Next Return $65FB8B4232A9E88C75BB1FC8C7E9E2D2 EndFunc Func X0B3761E3DCD63D8F1(ByRef $654B8B4232A9E88C77BB1FC8C8E9E2D2, $654B8B4232AAE88C75BB1FC8C7E9E2D2) Local $654B8B4232A9E88075BB1FC8C7E9EAD2 = 0, $654B8B4232A9E88C75BB1FC6C7E9E2D2 = 0, $654B8B4232A9E88C75BB1FC8C7E9E292 = 0 If (Not IsArray($654B8B4232A9E88C77BB1FC8C8E9E2D2)) Then SetError(1) Return "" EndIf Local $654B8B4232A9E88C75BB1FC6C7E9E2D2 = UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) If $654B8B4232A9E88C75BB1FC6C7E9E2D2 = 1 Then SetError(2) Return "" EndIf Local $654B8D4232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC6C7E9E2D2 - 1] If $654B8B4232AAE88C75BB1FC8C7E9E2D2 < 0 Then $654B8B4232AAE88C75BB1FC8C7E9E2D2 = 0 EndIf If $654B8B4232AAE88C75BB1FC8C7E9E2D2 > ($654B8B4232A9E88C75BB1FC6C7E9E2D2 - 1) Then $654B8B4232AAE88C75BB1FC8C7E9E2D2 = ($654B8B4232A9E88C75BB1FC6C7E9E2D2 - 1) EndIf If $654B8B4232AAE88C75BB1FC8C7E9E2D2 > 0 Then For $654B8B4232A9E88075BB1FC8C7E9EAD2 = 0 To $654B8B4232AAE88C75BB1FC8C7E9E2D2 - 1 $654B8D4232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88075BB1FC8C7E9EAD2] = $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E88075BB1FC8C7E9EAD2] Next EndIf If $654B8B4232AAE88C75BB1FC8C7E9E2D2 < ($654B8B4232A9E88C75BB1FC6C7E9E2D2 - 1) Then For $654B8B4232A9E88075BB1FC8C7E9EAD2 = ($654B8B4232AAE88C75BB1FC8C7E9E2D2 + 1) To ($654B8B4232A9E88C75BB1FC6C7E9E2D2 - 1) $654B8D4232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88075BB1FC8C7E9EAD2 - 1] = $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E88075BB1FC8C7E9EAD2] Next EndIf $654B8B4232A9E88C77BB1FC8C8E9E2D2 = $654B8D4232A9E88C75BB1FC8C7E9E2D2 SetError(0) Return 1 EndFunc Func X0B3731E3DCF63D8F1(ByRef $654B8B4232A9E88C77BB1FC8C8E9E2D2, $654B8B4232A9E88C75BB1FC8C7E902D2) Local $654B8B4232A9E88C75BB1F98C7E9E2D2 = 0, $654B8B4232A0E88C75BB1FC8C7E9E2D2 = "" If (Not IsArray($654B8B4232A9E88C77BB1FC8C8E9E2D2)) Then SetError(1) Return 0 EndIf If UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2,0) >1 Then SetError(2) Return 0 EndIf For $654B8B4232A9E88C75BB1F98C7E9E2D2 = 0 To UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) - 1 $654B8B4232A0E88C75BB1FC8C7E9E2D2 = $654B8B4232A0E88C75BB1FC8C7E9E2D2 & $654B8B4232A9E88875BB12C8C7E9E2D2 & $654B8B4232A9E88C75BB1F98C7E9E2D2 & "] = " & StringStripCR($654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E88C75BB1F98C7E9E2D2]) & @CR Next MsgBox(4096, $654B8B4232A9E88C75BB1FC8C7E902D2, $654B8B4232A0E88C75BB1FC8C7E9E2D2) SetError(0) Return 1 EndFunc Func X0B373183DCD63D8F1(ByRef $654B8B4232A9E88C77BB1FC8C8E9E2D2, $654B8B4232AAE88C75BB1FC8C7E9E2D2, $654B8B4232A9988C75BB1FC8C7E9E2D2 = "") Local $654B8B4232A9E88075BB1FC8C7E9EAD2 = 0 If Not IsArray($654B8B4232A9E88C77BB1FC8C8E9E2D2) Then SetError(1) Return 0 EndIf ReDim $654B8B4232A9E88C77BB1FC8C8E9E2D2[UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) + 1] For $654B8B4232A9E88075BB1FC8C7E9EAD2 = UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) - 1 To $654B8B4232AAE88C75BB1FC8C7E9E2D2 + 1 Step - 1 $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E88075BB1FC8C7E9EAD2] = $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E88075BB1FC8C7E9EAD2 - 1] Next $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E88075BB1FC8C7E9EAD2] = $654B8B4232A9988C75BB1FC8C7E9E2D2 Return 1 EndFunc Func X0B3731E3D2D63D8F1($654B8B4232A9E88C77BB1FC8C8E9E2D2, $654B8B4232A9E88C75FB1FC8C7E9E2D2 = 0, $654B8B423EA9E88C75BB1FC8C7E9E2D2 = 0) If IsArray($654B8B4232A9E88C77BB1FC8C8E9E2D2) Then Return $654B8B4232A9E88C77BB1FC8C8E9E2D2[X0B3731E3D1D63D8F1($654B8B4232A9E88C77BB1FC8C8E9E2D2, $654B8B4232A9E88C75FB1FC8C7E9E2D2, $654B8B423EA9E88C75BB1FC8C7E9E2D2) ] Else SetError(1) Return "" EndIf EndFunc Func X0B3731E3D1D63D8F1($654B8B4232A9E88C77BB1FC8C8E9E2D2, $654B8B4232A9E88C75FB1FC8C7E9E2D2 = 0, $654B8B423EA9E88C75BB1FC8C7E9E2D2 = 0) Local $654B8B4232A9E88075BB1FC8C7E9EAD2, $654B8B4232A9E88C75BB1FC8C779E2D2 = $654B8B423EA9E88C75BB1FC8C7E9E2D2 If Not IsArray($654B8B4232A9E88C77BB1FC8C8E9E2D2) Then SetError(1) Return "" EndIf Local $654B8B4232A9E88C75BB1FC6C7E9E2D2 = UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) For $654B8B4232A9E88075BB1FC8C7E9EAD2 = $654B8B423EA9E88C75BB1FC8C7E9E2D2 To ($654B8B4232A9E88C75BB1FC6C7E9E2D2 - 1) If $654B8B4232A9E88C75FB1FC8C7E9E2D2 = 1 Then If Number($654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E88C75BB1FC8C779E2D2]) < Number($654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E88075BB1FC8C7E9EAD2]) Then $654B8B4232A9E88C75BB1FC8C779E2D2 = $654B8B4232A9E88075BB1FC8C7E9EAD2 EndIf Else If $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E88C75BB1FC8C779E2D2] < $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E88075BB1FC8C7E9EAD2] Then $654B8B4232A9E88C75BB1FC8C779E2D2 = $654B8B4232A9E88075BB1FC8C7E9EAD2 EndIf EndIf Next SetError(0) Return $654B8B4232A9E88C75BB1FC8C779E2D2 EndFunc Func X0B3731E2DCD63D8F1($654B8B4232A9E88C77BB1FC8C8E9E2D2, $654B8B4232A9E88C75FB1FC8C7E9E2D2 = 0, $654B8B423EA9E88C75BB1FC8C7E9E2D2 = 0) If IsArray($654B8B4232A9E88C77BB1FC8C8E9E2D2) Then Return $654B8B4232A9E88C77BB1FC8C8E9E2D2[X0B3771E3DCD63D8F1($654B8B4232A9E88C77BB1FC8C8E9E2D2, $654B8B4232A9E88C75FB1FC8C7E9E2D2) ] Else SetError(1) Return "" EndIf EndFunc Func X0B3771E3DCD63D8F1($654B8B4232A9E88C77BB1FC8C8E9E2D2, $654B8B4232A9E88C75FB1FC8C7E9E2D2 = 0, $654B8B423EA9E88C75BB1FC8C7E9E2D2 = 0) Local $654B8B4232A9E88075BB1FC8C7E9EAD2 = 0, $654B8B4232A9E82C75BB1FC8C7E9E2D2 = $654B8B423EA9E88C75BB1FC8C7E9E2D2 If Not IsArray($654B8B4232A9E88C77BB1FC8C8E9E2D2) Then SetError(1) Return "" EndIf Local $654B8B4232A9E88C75BB1FC6C7E9E2D2 = UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) For $654B8B4232A9E88075BB1FC8C7E9EAD2 = $654B8B423EA9E88C75BB1FC8C7E9E2D2 To ($654B8B4232A9E88C75BB1FC6C7E9E2D2 - 1) If $654B8B4232A9E88C75FB1FC8C7E9E2D2 = 1 Then If Number($654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E82C75BB1FC8C7E9E2D2]) > Number($654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E88075BB1FC8C7E9EAD2]) Then $654B8B4232A9E82C75BB1FC8C7E9E2D2 = $654B8B4232A9E88075BB1FC8C7E9EAD2 EndIf Else If $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E82C75BB1FC8C7E9E2D2] > $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E88075BB1FC8C7E9EAD2] Then $654B8B4232A9E82C75BB1FC8C7E9E2D2 = $654B8B4232A9E88075BB1FC8C7E9EAD2 EndIf EndIf Next SetError(0) Return $654B8B4232A9E82C75BB1FC8C7E9E2D2 EndFunc Func X0B3731E3DCDA3D8F1(ByRef $654B8B4232A9E88C77BB1FC8C8E9E2D2) Local $654B8B4232A9E88C75BB1F48C7E9E2D2 If (Not IsArray($654B8B4232A9E88C77BB1FC8C8E9E2D2)) Then SetError(1) Return "" EndIf $654B8B4232A9E88C75BB1F48C7E9E2D2 = $654B8B4232A9E88C77BB1FC8C8E9E2D2[UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) - 1] If UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) = 1 Then $654B8B4232A9E88C77BB1FC8C8E9E2D2 = "" Else ReDim $654B8B4232A9E88C77BB1FC8C8E9E2D2[UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) - 1] EndIf Return $654B8B4232A9E88C75BB1F48C7E9E2D2 EndFunc Func X0B373103DCD63D8F1(ByRef $654B8B4232A9E88C77BB1FC8C8E9E2D2, $654B8B4232A9988C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75B91FC8C7E9E2D2 = 0) Local $654B8B7232A9E88C75BB1FC8C7E9E2D2, $654B8B4232ADE88C75BB1FC8C7E9E2D2 If (Not IsArray($654B8B4232A9E88C77BB1FC8C8E9E2D2)) Then SetError(1) Return 0 EndIf If (Not IsArray($654B8B4232A9988C75BB1FC8C7E9E2D2)) Then If $654B8B4232A9E88C75B91FC8C7E9E2D2 = 1 Then For $654B8B7232A9E88C75BB1FC8C7E9E2D2 = (UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) - 1) To 1 $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B7232A9E88C75BB1FC8C7E9E2D2] = $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B7232A9E88C75BB1FC8C7E9E2D2 - 1] Next $654B8B4232A9E88C77BB1FC8C8E9E2D2[0] = $654B8B4232A9988C75BB1FC8C7E9E2D2 Else For $654B8B7232A9E88C75BB1FC8C7E9E2D2 = 0 To (UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) - 2) $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B7232A9E88C75BB1FC8C7E9E2D2] = $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B7232A9E88C75BB1FC8C7E9E2D2 + 1] Next Local $654B8B7232A9E88C75BB1FC8C7E9E2D2 = (UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) - 1) $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B7232A9E88C75BB1FC8C7E9E2D2] = $654B8B4232A9988C75BB1FC8C7E9E2D2 EndIf SetError(0) Return 1 Else If UBound($654B8B4232A9988C75BB1FC8C7E9E2D2) > UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) Then SetError(1) Return -1 Else For $654B8B4232ADE88C75BB1FC8C7E9E2D2 = 0 to (UBound($654B8B4232A9988C75BB1FC8C7E9E2D2) - 1) If $654B8B4232A9E88C75B91FC8C7E9E2D2 = 1 Then For $654B8B7232A9E88C75BB1FC8C7E9E2D2 = (UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) - 1) To 1 $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B7232A9E88C75BB1FC8C7E9E2D2] = $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B7232A9E88C75BB1FC8C7E9E2D2 - 1] Next $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232ADE88C75BB1FC8C7E9E2D2] = $654B8B4232A9988C75BB1FC8C7E9E2D2[$654B8B4232ADE88C75BB1FC8C7E9E2D2] Else For $654B8B7232A9E88C75BB1FC8C7E9E2D2 = 0 To (UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) - 2) $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B7232A9E88C75BB1FC8C7E9E2D2] = $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B7232A9E88C75BB1FC8C7E9E2D2 + 1] Next Local $654B8B7232A9E88C75BB1FC8C7E9E2D2 = (UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) - 1) $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B7232A9E88C75BB1FC8C7E9E2D2] = $654B8B4232A9988C75BB1FC8C7E9E2D2[$654B8B4232ADE88C75BB1FC8C7E9E2D2] EndIf Next EndIf EndIf SetError(0) Return 1 EndFunc Func X0B3431E3DCD63D8F1(ByRef $654B8B4232A9E88C77BB1FC8C8E9E2D2, $654B8B423EA9E88C75BB1FC8C7E9E2D2 = 0, $659B8B4232A9E88C75BB1FC8C7E9E2D2 = 0) If Not IsArray($654B8B4232A9E88C77BB1FC8C8E9E2D2) Then SetError(1) Return 0 EndIf Local $654B8B4232A9E88875BB1FC8C7E9E2D2, $624B8B4232A9E88C75BB1FC8C7E9E2D2 = UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) - 1 If $659B8B4232A9E88C75BB1FC8C7E9E2D2 < 1 Or $659B8B4232A9E88C75BB1FC8C7E9E2D2 > $624B8B4232A9E88C75BB1FC8C7E9E2D2 Then $659B8B4232A9E88C75BB1FC8C7E9E2D2 = $624B8B4232A9E88C75BB1FC8C7E9E2D2 For $654B8B7232A9E88C75BB1FC8C7E9E2D2 = $654B8B423EA9E88C75BB1FC8C7E9E2D2 To $654B8B423EA9E88C75BB1FC8C7E9E2D2 + Int(($659B8B4232A9E88C75BB1FC8C7E9E2D2 - $654B8B423EA9E88C75BB1FC8C7E9E2D2 - 1) / 2) $654B8B4232A9E88875BB1FC8C7E9E2D2 = $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B7232A9E88C75BB1FC8C7E9E2D2] $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B7232A9E88C75BB1FC8C7E9E2D2] = $654B8B4232A9E88C77BB1FC8C8E9E2D2[$659B8B4232A9E88C75BB1FC8C7E9E2D2] $654B8B4232A9E88C77BB1FC8C8E9E2D2[$659B8B4232A9E88C75BB1FC8C7E9E2D2] = $654B8B4232A9E88875BB1FC8C7E9E2D2 $659B8B4232A9E88C75BB1FC8C7E9E2D2 = $659B8B4232A9E88C75BB1FC8C7E9E2D2 - 1 Next Return 1 EndFunc Func X0B3731E3DCD63A8F1($654B8B4232A9E88C77BB1FC8C8E9E2D2, $654B8B4232A9E28C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C8E9E2D2 = 0, $654B854232A9E88C75BB1FC8C7E9E2D2 = 0, $654B8B4232A9E88C75CB1FC8C7E9E2D2 = 0) Local $654B8B4232A9E88CF5BB1FC8C7E9E2D2, $654B8B4232A9E88C754B1FC8C7E9E2D2 If Not IsArray($654B8B4232A9E88C77BB1FC8C8E9E2D2) Then SetError(1) Return "" EndIf $654B8B4232A9E88C754B1FC8C7E9E2D2 = UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) - 1 If $654B854232A9E88C75BB1FC8C7E9E2D2 = 0 Then $654B854232A9E88C75BB1FC8C7E9E2D2 = $654B8B4232A9E88C754B1FC8C7E9E2D2 If $654B8B4232A9E88C75BB1FC8C8E9E2D2 > $654B8B4232A9E88C754B1FC8C7E9E2D2 Then SetError(2) Return "" EndIf If $654B854232A9E88C75BB1FC8C7E9E2D2 > $654B8B4232A9E88C754B1FC8C7E9E2D2 Then SetError(3) Return "" EndIf If $654B8B4232A9E88C75BB1FC8C8E9E2D2 > $654B854232A9E88C75BB1FC8C7E9E2D2 Then SetError(4) Return "" EndIf If Not ($654B8B4232A9E88C75CB1FC8C7E9E2D2 = 0 Or $654B8B4232A9E88C75CB1FC8C7E9E2D2 = 1) Then SetError(5) Return "" EndIf For $654B8B4232A9E88CF5BB1FC8C7E9E2D2 = $654B8B4232A9E88C75BB1FC8C8E9E2D2 To $654B854232A9E88C75BB1FC8C7E9E2D2 Select Case $654B8B4232A9E88C75CB1FC8C7E9E2D2 = 0 If $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E88CF5BB1FC8C7E9E2D2] = $654B8B4232A9E28C75BB1FC8C7E9E2D2 Then SetError(0) Return $654B8B4232A9E88CF5BB1FC8C7E9E2D2 EndIf Case $654B8B4232A9E88C75CB1FC8C7E9E2D2 = 1 If $654B8B4232A9E88C77BB1FC8C8E9E2D2[$654B8B4232A9E88CF5BB1FC8C7E9E2D2] == $654B8B4232A9E28C75BB1FC8C7E9E2D2 Then SetError(0) Return $654B8B4232A9E88CF5BB1FC8C7E9E2D2 EndIf EndSelect Next SetError(0) Return "" EndFunc Func X0B3731E3DCD63DDF1(ByRef $6F4B8B4232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BA1FC8C7E9E2D2 = 0, $654B8B423EA9E88C75BB1FC8C7E9E2D2 = 0, $659B8B4232A9E88C75BB1FC8C7E9E2D2 = 0, $654B8B4232A9ED8C75BB1FC8C7E9E2D2 = 1, $654B8B4232A9E88C45BB1FC8C7E9E2D2 = 0) If Not IsArray($6F4B8B4232A9E88C75BB1FC8C7E9E2D2) Then SetError(1) Return 0 EndIf Local $624B8B4232A9E88C75BB1FC8C7E9E2D2 = UBound($6F4B8B4232A9E88C75BB1FC8C7E9E2D2) - 1 If $659B8B4232A9E88C75BB1FC8C7E9E2D2 < 1 Or $659B8B4232A9E88C75BB1FC8C7E9E2D2 > $624B8B4232A9E88C75BB1FC8C7E9E2D2 Then $659B8B4232A9E88C75BB1FC8C7E9E2D2 = $624B8B4232A9E88C75BB1FC8C7E9E2D2 If $654B8B4232A9ED8C75BB1FC8C7E9E2D2 = 1 Then X0B3751E3DCD63D8F1($6F4B8B4232A9E88C75BB1FC8C7E9E2D2, $654B8B423EA9E88C75BB1FC8C7E9E2D2, $659B8B4232A9E88C75BB1FC8C7E9E2D2) If $654B8B4232A9E88C75BA1FC8C7E9E2D2 Then X0B3431E3DCD63D8F1($6F4B8B4232A9E88C75BB1FC8C7E9E2D2, $654B8B423EA9E88C75BB1FC8C7E9E2D2, $659B8B4232A9E88C75BB1FC8C7E9E2D2) Else X0B3731E3DCD13D8F1($6F4B8B4232A9E88C75BB1FC8C7E9E2D2, $654B8B423EA9E88C75BB1FC8C7E9E2D2, $659B8B4232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9ED8C75BB1FC8C7E9E2D2, $654B8B4232A9E88C45BB1FC8C7E9E2D2, $654B8B4232A9E88C75BA1FC8C7E9E2D2) EndIf Return 1 EndFunc Func X0B3751E3DCD63D8F1(ByRef $654B864232A9E88C75BB1FC8C7E9E2D2, ByRef $654B8B4232A9E88C75BB1FC8C0E9E2D2, ByRef $654B8B4232A9E88C75EB1FC8C719E2D2) If $654B8B4232A9E88C75EB1FC8C719E2D2 - $654B8B4232A9E88C75BB1FC8C0E9E2D2 < 10 Then Local $654B8B7232A9E88C75BB1FC8C7E9E2D2, $654B8B4232ADE88C75BB1FC8C7E9E2D2, $654B8B423219E88C75BB1FC8C7E9E2D2 For $654B8B7232A9E88C75BB1FC8C7E9E2D2 = $654B8B4232A9E88C75BB1FC8C0E9E2D2 + 1 To $654B8B4232A9E88C75EB1FC8C719E2D2 $654B8B423219E88C75BB1FC8C7E9E2D2 = $654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B7232A9E88C75BB1FC8C7E9E2D2] $654B8B4232ADE88C75BB1FC8C7E9E2D2 = $654B8B7232A9E88C75BB1FC8C7E9E2D2 While $654B8B4232ADE88C75BB1FC8C7E9E2D2 > $654B8B4232A9E88C75BB1FC8C0E9E2D2 _ And ( (IsNumber($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232ADE88C75BB1FC8C7E9E2D2 - 1]) = IsNumber($654B8B423219E88C75BB1FC8C7E9E2D2) And $654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232ADE88C75BB1FC8C7E9E2D2 - 1] > $654B8B423219E88C75BB1FC8C7E9E2D2) _ Or (IsNumber($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232ADE88C75BB1FC8C7E9E2D2 - 1]) <> IsNumber($654B8B423219E88C75BB1FC8C7E9E2D2) And String($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232ADE88C75BB1FC8C7E9E2D2 - 1]) > String($654B8B423219E88C75BB1FC8C7E9E2D2))) $654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232ADE88C75BB1FC8C7E9E2D2] = $654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232ADE88C75BB1FC8C7E9E2D2 - 1] $654B8B4232ADE88C75BB1FC8C7E9E2D2 = $654B8B4232ADE88C75BB1FC8C7E9E2D2 - 1 Wend $654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232ADE88C75BB1FC8C7E9E2D2] = $654B8B423219E88C75BB1FC8C7E9E2D2 Next Return EndIf Local $654B8B4232A9E88C75BB1FC8C7E9E1D2 = $654B864232A9E88C75BB1FC8C7E9E2D2[Int(($654B8B4232A9E88C75BB1FC8C0E9E2D2 + $654B8B4232A9E88C75EB1FC8C719E2D2)/2)], $654B8B423219E88C75BB1FC8C7E9E2D2 Local $654B8B4232A9E88C71BB1FC8C7E9EBD2 = $654B8B4232A9E88C75BB1FC8C0E9E2D2 Local $654B8B4232A9E88C75BB1FC8C7E9E2A2 = $654B8B4232A9E88C75EB1FC8C719E2D2 Do While ((IsNumber($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C71BB1FC8C7E9EBD2]) = IsNumber($654B8B4232A9E88C75BB1FC8C7E9E1D2) And $654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C71BB1FC8C7E9EBD2] < $654B8B4232A9E88C75BB1FC8C7E9E1D2) _ Or (IsNumber($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C71BB1FC8C7E9EBD2]) <> IsNumber($654B8B4232A9E88C75BB1FC8C7E9E1D2) And String($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C71BB1FC8C7E9EBD2]) < String($654B8B4232A9E88C75BB1FC8C7E9E1D2))) $654B8B4232A9E88C71BB1FC8C7E9EBD2 = $654B8B4232A9E88C71BB1FC8C7E9EBD2 + 1 Wend While ((IsNumber($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9E2A2]) = IsNumber($654B8B4232A9E88C75BB1FC8C7E9E1D2) And $654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9E2A2] > $654B8B4232A9E88C75BB1FC8C7E9E1D2) _ Or (IsNumber($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9E2A2]) <> IsNumber($654B8B4232A9E88C75BB1FC8C7E9E1D2) And String($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9E2A2]) > String($654B8B4232A9E88C75BB1FC8C7E9E1D2))) $654B8B4232A9E88C75BB1FC8C7E9E2A2 = $654B8B4232A9E88C75BB1FC8C7E9E2A2 - 1 Wend If $654B8B4232A9E88C71BB1FC8C7E9EBD2 <= $654B8B4232A9E88C75BB1FC8C7E9E2A2 Then $654B8B423219E88C75BB1FC8C7E9E2D2 = $654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C71BB1FC8C7E9EBD2] $654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C71BB1FC8C7E9EBD2] = $654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9E2A2] $654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9E2A2] = $654B8B423219E88C75BB1FC8C7E9E2D2 $654B8B4232A9E88C71BB1FC8C7E9EBD2 = $654B8B4232A9E88C71BB1FC8C7E9EBD2 + 1 $654B8B4232A9E88C75BB1FC8C7E9E2A2 = $654B8B4232A9E88C75BB1FC8C7E9E2A2 - 1 EndIf Until $654B8B4232A9E88C71BB1FC8C7E9EBD2 > $654B8B4232A9E88C75BB1FC8C7E9E2A2 X0B3751E3DCD63D8F1($654B864232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C0E9E2D2, $654B8B4232A9E88C75BB1FC8C7E9E2A2) X0B3751E3DCD63D8F1($654B864232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C71BB1FC8C7E9EBD2, $654B8B4232A9E88C75EB1FC8C719E2D2) EndFunc Func X0B3731E3DCD13D8F1(ByRef $654B864232A9E88C75BB1FC8C7E9E2D2, ByRef $654B8B4232A9E88C75BB1FC8C0E9E2D2, ByRef $654B8B4232A9E88C75EB1FC8C719E2D2, ByRef $654B8B4233A9E88C75BB1FC8C7E9E2D2, ByRef $654B8B423259E88C75BB1FC8C7E9E2D2, ByRef $65EB8B4232A9E88C75BB1FC8C7E9E2D2) If $654B8B4232A9E88C75BB1FC8C0E9E2D2 >= $654B8B4232A9E88C75EB1FC8C719E2D2 Then Return Local $654B8B423219E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C7E9E6D2 = $654B8B4233A9E88C75BB1FC8C7E9E2D2 - 1 Local $654B8B4232A9E88C75BB1FC8C7E9E1D2 = $654B864232A9E88C75BB1FC8C7E9E2D2[Int(($654B8B4232A9E88C75BB1FC8C0E9E2D2 + $654B8B4232A9E88C75EB1FC8C719E2D2)/2)][$654B8B423259E88C75BB1FC8C7E9E2D2] Local $654B8B4232A9E88C71BB1FC8C7E9EBD2 = $654B8B4232A9E88C75BB1FC8C0E9E2D2 Local $654B8B4232A9E88C75BB1FC8C7E9E2A2 = $654B8B4232A9E88C75EB1FC8C719E2D2 Do If $65EB8B4232A9E88C75BB1FC8C7E9E2D2 Then While ((IsNumber($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C71BB1FC8C7E9EBD2][$654B8B423259E88C75BB1FC8C7E9E2D2]) = IsNumber($654B8B4232A9E88C75BB1FC8C7E9E1D2) And $654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C71BB1FC8C7E9EBD2][$654B8B423259E88C75BB1FC8C7E9E2D2] > $654B8B4232A9E88C75BB1FC8C7E9E1D2) _ Or (IsNumber($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C71BB1FC8C7E9EBD2][$654B8B423259E88C75BB1FC8C7E9E2D2]) <> IsNumber($654B8B4232A9E88C75BB1FC8C7E9E1D2) And String($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C71BB1FC8C7E9EBD2][$654B8B423259E88C75BB1FC8C7E9E2D2]) > String($654B8B4232A9E88C75BB1FC8C7E9E1D2))) $654B8B4232A9E88C71BB1FC8C7E9EBD2 = $654B8B4232A9E88C71BB1FC8C7E9EBD2 + 1 Wend While ((IsNumber($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9E2A2][$654B8B423259E88C75BB1FC8C7E9E2D2]) = IsNumber($654B8B4232A9E88C75BB1FC8C7E9E1D2) And $654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9E2A2][$654B8B423259E88C75BB1FC8C7E9E2D2] < $654B8B4232A9E88C75BB1FC8C7E9E1D2) _ Or (IsNumber($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9E2A2][$654B8B423259E88C75BB1FC8C7E9E2D2]) <> IsNumber($654B8B4232A9E88C75BB1FC8C7E9E1D2) And String($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9E2A2][$654B8B423259E88C75BB1FC8C7E9E2D2]) < String($654B8B4232A9E88C75BB1FC8C7E9E1D2))) $654B8B4232A9E88C75BB1FC8C7E9E2A2 = $654B8B4232A9E88C75BB1FC8C7E9E2A2 - 1 Wend Else While ((IsNumber($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C71BB1FC8C7E9EBD2][$654B8B423259E88C75BB1FC8C7E9E2D2]) = IsNumber($654B8B4232A9E88C75BB1FC8C7E9E1D2) And $654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C71BB1FC8C7E9EBD2][$654B8B423259E88C75BB1FC8C7E9E2D2] < $654B8B4232A9E88C75BB1FC8C7E9E1D2) _ Or (IsNumber($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C71BB1FC8C7E9EBD2][$654B8B423259E88C75BB1FC8C7E9E2D2]) <> IsNumber($654B8B4232A9E88C75BB1FC8C7E9E1D2) And String($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C71BB1FC8C7E9EBD2][$654B8B423259E88C75BB1FC8C7E9E2D2]) < String($654B8B4232A9E88C75BB1FC8C7E9E1D2))) $654B8B4232A9E88C71BB1FC8C7E9EBD2 = $654B8B4232A9E88C71BB1FC8C7E9EBD2 + 1 Wend While ((IsNumber($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9E2A2][$654B8B423259E88C75BB1FC8C7E9E2D2]) = IsNumber($654B8B4232A9E88C75BB1FC8C7E9E1D2) And $654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9E2A2][$654B8B423259E88C75BB1FC8C7E9E2D2] > $654B8B4232A9E88C75BB1FC8C7E9E1D2) _ Or (IsNumber($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9E2A2][$654B8B423259E88C75BB1FC8C7E9E2D2]) <> IsNumber($654B8B4232A9E88C75BB1FC8C7E9E1D2) And String($654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9E2A2][$654B8B423259E88C75BB1FC8C7E9E2D2]) > String($654B8B4232A9E88C75BB1FC8C7E9E1D2))) $654B8B4232A9E88C75BB1FC8C7E9E2A2 = $654B8B4232A9E88C75BB1FC8C7E9E2A2 - 1 Wend EndIf If $654B8B4232A9E88C71BB1FC8C7E9EBD2 <= $654B8B4232A9E88C75BB1FC8C7E9E2A2 Then For $654B8B423D19E88C75BB1FC8C7E9E2D2 = 0 To $654B8B4232A9E88C75BB1FC8C7E9E6D2 $654B8B423219E88C75BB1FC8C7E9E2D2 = $654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C71BB1FC8C7E9EBD2][$654B8B423D19E88C75BB1FC8C7E9E2D2] $654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C71BB1FC8C7E9EBD2][$654B8B423D19E88C75BB1FC8C7E9E2D2] = $654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9E2A2][$654B8B423D19E88C75BB1FC8C7E9E2D2] $654B864232A9E88C75BB1FC8C7E9E2D2[$654B8B4232A9E88C75BB1FC8C7E9E2A2][$654B8B423D19E88C75BB1FC8C7E9E2D2] = $654B8B423219E88C75BB1FC8C7E9E2D2 Next $654B8B4232A9E88C71BB1FC8C7E9EBD2 = $654B8B4232A9E88C71BB1FC8C7E9EBD2 + 1 $654B8B4232A9E88C75BB1FC8C7E9E2A2 = $654B8B4232A9E88C75BB1FC8C7E9E2A2 - 1 EndIf Until $654B8B4232A9E88C71BB1FC8C7E9EBD2 > $654B8B4232A9E88C75BB1FC8C7E9E2A2 X0B3731E3DCD13D8F1($654B864232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C75BB1FC8C0E9E2D2, $654B8B4232A9E88C75BB1FC8C7E9E2A2, $654B8B4233A9E88C75BB1FC8C7E9E2D2, $654B8B423259E88C75BB1FC8C7E9E2D2, $65EB8B4232A9E88C75BB1FC8C7E9E2D2) X0B3731E3DCD13D8F1($654B864232A9E88C75BB1FC8C7E9E2D2, $654B8B4232A9E88C71BB1FC8C7E9EBD2, $654B8B4232A9E88C75EB1FC8C719E2D2, $654B8B4233A9E88C75BB1FC8C7E9E2D2, $654B8B423259E88C75BB1FC8C7E9E2D2, $65EB8B4232A9E88C75BB1FC8C7E9E2D2) EndFunc Func X0B3731E3DC113D8F1(ByRef $654B8B4232A9E88C75BB1FC8C719EBD2, ByRef $654B854232A9E88C75BB1FC8C7E9E2B2) Local $654B8B4212A9E88C75BB1FC8C7E9E2D2 = $654B8B4232A9E88C75BB1FC8C719EBD2 $654B8B4232A9E88C75BB1FC8C719EBD2 = $654B854232A9E88C75BB1FC8C7E9E2B2 $654B854232A9E88C75BB1FC8C7E9E2B2 = $654B8B4212A9E88C75BB1FC8C7E9E2D2 SetError(0) EndFunc Func X0B3731E31CD63D8F1($654B8B4232A9E88C77BB1FC8C8E9E2D2, $654B8B423EA9E88C75BB1FC8C7E9E2D2 = 0) Local $654B8B4232A9E88075BB1FC8C7E9EAD2, $654B8B4A32A9E88C75BB1FC8C7E9E2D2 = 0, $654B8B4232A9E88C05BB1FC8C7E9E2D2 = "", $654B8B4232A9E84C75BB1FC8C7E9E2D2 = "" If (IsArray($654B8B4232A9E88C77BB1FC8C8E9E2D2)) Then For $654B8B4232A9E88075BB1FC8C7E9EAD2 = $654B8B423EA9E88C75BB1FC8C7E9E2D2 To (UBound($654B8B4232A9E88C77BB1FC8C8E9E2D2) - 1) $654B8B4A32A9E88C75BB1FC8C7E9E2D2 = 1 If $654B8B4232A9E88075BB1FC8C7E9EAD2 > $654B8B423EA9E88C75BB1FC8C7E9E2D2 Then $654B8B4232A9E88C05BB1FC8C7E9E2D2 = @CR EndIf $654B8B4232A9E84C75BB1FC8C7E9E2D2 = & Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.
seandisanti Posted December 29, 2005 Posted December 29, 2005 Sean... This is your code obfuscated:... No time difference.wow i guess that really says something about the obfuscation method then...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now