// Path: encoder/src/main/java/ru/bullyboo/encoder/utils/ArrayUtils.java
// public class ArrayUtils {
// 
//     public static int[] mergeArrays(byte[] mainArray, int[] appendArray){
// 
//         int[] array = new int[mainArray.length + appendArray.length];
// 
//         int mainSize = mainArray.length;
//         int appendSize = appendArray.length;
// 
//         for(int i = 0; i < mainSize; i++){
//             array[i] = mainArray[i];
//         }
// 
//         System.arraycopy(appendArray, 0, array, mainSize, appendSize);
// 
//         return array;
//     }
// 
//     public static int[] mergeArrays(int[] mainArray, int[] appendArray){
//         int[] array = new int[mainArray.length + appendArray.length];
// 
//         int mainSize = mainArray.length;
//         int appendSize = appendArray.length;
// 
//         System.arraycopy(mainArray, 0, array, 0, mainSize);
// 
//         System.arraycopy(appendArray, 0, array, mainSize, appendSize);
// 
//         return array;
//     }
// 
//     public static int[] convertListToArray(List<Integer> integerList){
//         int[] array = new int[integerList.size()];
// 
//         for(int i = 0; i < integerList.size(); i++){
//             array[i] = integerList.get(i);
//         }
// 
//         return array;
//     }
// }


import java.util.ArrayList;
import java.util.List;
import ru.bullyboo.encoder.utils.ArrayUtils;
                    T = CCL;
                    CCL = CCR;
                    CCR = T;
                } else if(j == 63){
                    T = DDL;
                    DDL = DDR;
                    DDR = T;
                }
            }

//            Converting result
            AL = AL + AAL;
            BL = BL + BBL;
            CL = CL + CCL;
            DL = DL + DDL;

            AR = AR + AAR;
            BR = BR + BBR;
            CR = CR + CCR;
            DR = DR + DDR;
        }

        return new int[]{AL, BL, CL, DL, AR, BR, CR, DR};
    }

    /**
     * Boolean functions for rounds
     */
    private int F(int x, int y, int z, int i){
        if(i >= 0 && i <= 15){
// Path: encoder/src/main/java/ru/bullyboo/encoder/utils/ArrayUtils.java
// public class ArrayUtils {
// 
//     public static int[] mergeArrays(byte[] mainArray, int[] appendArray){
// 
//         int[] array = new int[mainArray.length + appendArray.length];
// 
//         int mainSize = mainArray.length;
//         int appendSize = appendArray.length;
// 
//         for(int i = 0; i < mainSize; i++){
//             array[i] = mainArray[i];
//         }
// 
//         System.arraycopy(appendArray, 0, array, mainSize, appendSize);
// 
//         return array;
//     }
// 
//     public static int[] mergeArrays(int[] mainArray, int[] appendArray){
//         int[] array = new int[mainArray.length + appendArray.length];
// 
//         int mainSize = mainArray.length;
//         int appendSize = appendArray.length;
// 
//         System.arraycopy(mainArray, 0, array, 0, mainSize);
// 
//         System.arraycopy(appendArray, 0, array, mainSize, appendSize);
// 
//         return array;
//     }
// 
//     public static int[] convertListToArray(List<Integer> integerList){
//         int[] array = new int[integerList.size()];
// 
//         for(int i = 0; i < integerList.size(); i++){
//             array[i] = integerList.get(i);
//         }
// 
//         return array;
//     }
// }


// Path: encoder/src/main/java/ru/bullyboo/encoder/hashes/RIPEMD_256.java
import java.util.ArrayList;
import java.util.List;
import ru.bullyboo.encoder.utils.ArrayUtils;

                    T = CCL;
                    CCL = CCR;
                    CCR = T;
                } else if(j == 63){
                    T = DDL;
                    DDL = DDR;
                    DDR = T;
                }
            }

//            Converting result
            AL = AL + AAL;
            BL = BL + BBL;
            CL = CL + CCL;
            DL = DL + DDL;

            AR = AR + AAR;
            BR = BR + BBR;
            CR = CR + CCR;
            DR = DR + DDR;
        }

        return new int[]{AL, BL, CL, DL, AR, BR, CR, DR};
    }

    /**
     * Boolean functions for rounds
     */
    private int F(int x, int y, int z, int i){
        if(i >= 0 && i <= 15){
            return ((x) ^ (y) ^ (z));