<commit_before>loto.controller('FacilCtrl', ['$scope', '$timeout', function($scope, $timeout){
    $scope.arquivo = "";
    $scope.jogos = [];
    $scope.jogo = {};

    $scope.predicate = 'concurso';
    $scope.reverse = false;

    $scope.order = function(predicate) {
        $scope.reverse = ($scope.predicate === predicate) ? !$scope.reverse : false;
        $scope.predicate = predicate;
    };

    $scope.jogo1 = [];
    $scope.jogo2 = [];
    $scope.jogo3 = [];

    /*gerador de menor impacto*/
    $scope.simularMenorColisao = function(){
        /*
         1. Escolha seis dezenas e marque-as nas duas primeiras apostas;
         2. Marque outras nove dezenas na primeira aposta;
         3. Marque nove dezenas na segunda aposta que não constem na primeira;
         4. Marque na terceira aposta sete dezenas que constem apenas na primeira
         aposta e mais sete que constem apenas na segunda;
         5. Marque na terceira aposta a dezena que ainda não consta nem na primeira
         e nem na segunda aposta (haverá apenas uma).
         */

        waitingDialog.show();

        Math.floor((Math.random() * 15) + 1);

        $scope.jogo1 = [];
        $scope.jogo2 = [];
        $scope.jogo3 = [];


        for(var um = 0; um < 6; um++) {
            inicioRecorrente($scope.jogo1);
            inicioRecorrente($scope.jogo2);
        }
        for(var dois = 0; dois < 9; dois++) {
            inicioRecorrente($scope.jogo1);
        }

        $timeout(function () {
            console.log('timer1');
            try {
                for (var tres = 0; tres < 9; tres++) {
                    inicioRecorrenteInversoExcluviso($scope.jogo1, $scope.jogo2);
                }
            } catch(err) {
                console.log('erro no timer 1');
            }
        }, 2000);


        $timeout(function () {
            console.log('timer2');
            try {
                for(var quatro = 0; quatro < 7; quatro++) {
                    inicioRecorrenteInverso($scope.jogo3, $scope.jogo1, $scope.jogo2);
                }
            }catch(err) {
                console.log('erro no timer 2');
            }
        }, 5000);

        $timeout(function () {
            console.log('timer3');
            try {
                for (var cinco = 0; cinco < 7; cinco++) {
                    inicioRecorrenteInverso($scope.jogo3, $scope.jogo2, $scope.jogo1);
                }
            }catch(err) {
                console.log('erro no timer 3');
            }
        }, 10000);

        $timeout(function () {
            console.log('timer4');
            try {
                for (var seis = 1; seis <= 25; seis++) {
                    if ($.inArray(seis, $scope.jogo1) === -1 && $.inArray(seis, $scope.jogo2) === -1) {
                        $scope.jogo3.push(seis);
                        break;
                    }
                }
                while($scope.jogo3.length < 15) {
                    var rNum = Math.floor((Math.random() * 25) + 1);
                    if($.inArray(rNum, $scope.jogo3) === -1) {
                        $scope.jogo3.push(rNum);
                    }
                }
            }catch(err) {
                console.log('erro no timer 4');
            }
            console.log('sorter');
            $scope.jogo1.sort(function(a, b){return a-b});
            $scope.jogo2.sort(function(a, b){return a-b});
            $scope.jogo3.sort(function(a, b){return a-b});

            waitingDialog.hide();
        }, 15000);

    };

    function inicioRecorrente(jogo){
        var numero1 = Math.floor((Math.random() * 25) + 1);
        if($.inArray(numero1, jogo) !== -1) {
            inicioRecorrente(jogo);
        } else {
            jogo.push(numero1);
        }
    }

    function inicioRecorrenteInverso(j0, j1, j2){
        var numero1 = Math.floor((Math.random() * 25) + 1);
        if($.inArray(numero1, j0) === -1 && $.inArray(numero1, j1) !== -1 && $.inArray(numero1, j2) === -1) {
            j0.push(numero1);
        } else {
            inicioRecorrenteInverso(j0, j1, j2);
        }
    }

    function inicioRecorrenteInversoExcluviso(jogo, jogo2){
        var numero1 = Math.floor((Math.random() * 25) + 1);<commit_msg>loop infinito<commit_after>loto.controller('FacilCtrl', ['$scope', '$timeout', function($scope, $timeout){
    $scope.arquivo = "";
    $scope.jogos = [];
    $scope.jogo = {};

    $scope.predicate = 'concurso';
    $scope.reverse = false;

    $scope.order = function(predicate) {
        $scope.reverse = ($scope.predicate === predicate) ? !$scope.reverse : false;
        $scope.predicate = predicate;
    };

    $scope.jogo1 = [];
    $scope.jogo2 = [];
    $scope.jogo3 = [];

    /*gerador de menor impacto*/
    $scope.simularMenorColisao = function(){
        /*
         1. Escolha seis dezenas e marque-as nas duas primeiras apostas;
         2. Marque outras nove dezenas na primeira aposta;
         3. Marque nove dezenas na segunda aposta que não constem na primeira;
         4. Marque na terceira aposta sete dezenas que constem apenas na primeira
         aposta e mais sete que constem apenas na segunda;
         5. Marque na terceira aposta a dezena que ainda não consta nem na primeira
         e nem na segunda aposta (haverá apenas uma).
         */

        waitingDialog.show();

        $scope.jogo1 = [];
        $scope.jogo2 = [];
        $scope.jogo3 = [];

        repeticaoSimples($scope.jogo1, 6);
        repeticaoSimples($scope.jogo2, 6);

        repeticaoSimples($scope.jogo1, 15);

        repeticaoExclusiva($scope.jogo1, $scope.jogo2, 15);

        $scope.jogo1.sort(function(a, b){return a-b});
        $scope.jogo2.sort(function(a, b){return a-b});
        $scope.jogo3.sort(function(a, b){return a-b});

        waitingDialog.hide();

        /*

        for(var um = 0; um < 6; um++) {
            inicioRecorrente($scope.jogo1);
            inicioRecorrente($scope.jogo2);
        }
        for(var dois = 0; dois < 9; dois++) {
            inicioRecorrente($scope.jogo1);
        }

        $timeout(function () {
            console.log('timer1');
            try {
                for (var tres = 0; tres < 9; tres++) {
                    inicioRecorrenteInversoExcluviso($scope.jogo1, $scope.jogo2);
                }
            } catch(err) {
                console.log('erro no timer 1');
            }
        }, 2000);


        $timeout(function () {
            console.log('timer2');
            try {
                for(var quatro = 0; quatro < 7; quatro++) {
                    inicioRecorrenteInverso($scope.jogo3, $scope.jogo1, $scope.jogo2);
                }
            }catch(err) {
                console.log('erro no timer 2');
            }
        }, 5000);

        $timeout(function () {
            console.log('timer3');
            try {
                for (var cinco = 0; cinco < 7; cinco++) {
                    inicioRecorrenteInverso($scope.jogo3, $scope.jogo2, $scope.jogo1);
                }
            }catch(err) {
                console.log('erro no timer 3');
            }
        }, 10000);

        $timeout(function () {
            console.log('timer4');
            try {
                for (var seis = 1; seis <= 25; seis++) {
                    if ($.inArray(seis, $scope.jogo1) === -1 && $.inArray(seis, $scope.jogo2) === -1) {
                        $scope.jogo3.push(seis);
                        break;
                    }
                }
                while($scope.jogo3.length < 15) {
                    var rNum = Math.floor((Math.random() * 25) + 1);
                    if($.inArray(rNum, $scope.jogo3) === -1) {
                        $scope.jogo3.push(rNum);
                    }
                }
            }catch(err) {
                console.log('erro no timer 4');
            }
            console.log('sorter');
            $scope.jogo1.sort(function(a, b){return a-b});
            $scope.jogo2.sort(function(a, b){return a-b});
            $scope.jogo3.sort(function(a, b){return a-b});

            waitingDialog.hide();
        }, 15000);
        */

    };

    function repeticaoExclusiva(jogo1, jogo2, repeticao) {
        while(jogo2.length < repeticao) {
            var rNum = Math.floor((Math.random() * 25) + 1);
            if($.inArray(rNum, jogo2) === -1 && $.inArray(rNum, jogo1) === -1) {
                jogo2.push(rNum);
            }
        }
    }

    function repeticaoSimples(jogo, repeticao) {
        while(jogo.length < repeticao) {
            var rNum = Math.floor((Math.random() * 25) + 1);
            if($.inArray(rNum, jogo) === -1) {
                jogo.push(rNum);
            }
        }
    }

    function inicioRecorrente(jogo){
        var numero1 = Math.floor((Math.random() * 25) + 1);
        if($.inArray(numero1, jogo) !== -1) {
            inicioRecorrente(jogo);
        } else {
            jogo.push(numero1);
        }
    }

    function inicioRecorrenteInverso(j0, j1, j2){
        var numero1 = Math.floor((Math.random() * 25) + 1);
        if($.inArray(numero1, j0) === -1 && $.inArray(numero1, j1) !== -1 && $.inArray(numero1, j2) === -1) {
            j0.push(numero1);
        } else {
            inicioRecorrenteInverso(j0, j1, j2);
        }
    }

    function inicioRecorrenteInversoExcluviso(jogo, jogo2){
        var numero1 = Math.floor((Math.random() * 25) + 1);
{'fraction_non_alphanumeric': 0.14664254549324252, 'fraction_numerical': 0.027029903160583166, 'mean_word_length': 1.5531105677804944, 'pattern_counts': {'":': 0, '<': 19, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6683001', 'n_tokens_mistral': 3220, 'n_tokens_neox': 3031, 'n_words': 590}