// Path: Rabbits/rabbits/src/main/java/com/kyleduo/rabbits/rules/Rule.java
// public interface Rule {
//     enum Operator {
//         IS, STARTS_WITH, ENDS_WITH, IN, CONTAINS, EXISTS
//     }
// 
//     boolean verify(Action action);
// }


import android.app.Activity;
import android.content.Context;
import android.support.v4.app.Fragment;
import android.util.SparseArray;
import com.kyleduo.rabbits.rules.Rule;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;
            throw new IllegalArgumentException("From object must be whether an Context or a Fragment instance.");
        }
        return new Builder(from);
    }

    /**
     * Add an interceptor used for this navigation. This is useful when you want to check whether a
     * uri matches a specific page using method.
     *
     * @param interceptor Interceptor instance.
     * @return Rabbit instance.
     */
    public Rabbit addInterceptor(Interceptor interceptor) {
        if (mInterceptors == null) {
            mInterceptors = new ArrayList<>();
        }
        mInterceptors.add(interceptor);
        return this;
    }

    public Rabbit registerNavigator(int type, Navigator navigator) {
        mNavigators.put(type, navigator);
        return this;
    }

    public Rabbit registerFallbackNavigator(Navigator navigator) {
        mNavigators.put(TargetInfo.TYPE_NONE, navigator);
        return this;
    }

// Path: Rabbits/rabbits/src/main/java/com/kyleduo/rabbits/rules/Rule.java
// public interface Rule {
//     enum Operator {
//         IS, STARTS_WITH, ENDS_WITH, IN, CONTAINS, EXISTS
//     }
// 
//     boolean verify(Action action);
// }


// Path: Rabbits/rabbits/src/main/java/com/kyleduo/rabbits/Rabbit.java
import android.app.Activity;
import android.content.Context;
import android.support.v4.app.Fragment;
import android.util.SparseArray;
import com.kyleduo.rabbits.rules.Rule;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;

            throw new IllegalArgumentException("From object must be whether an Context or a Fragment instance.");
        }
        return new Builder(from);
    }

    /**
     * Add an interceptor used for this navigation. This is useful when you want to check whether a
     * uri matches a specific page using method.
     *
     * @param interceptor Interceptor instance.
     * @return Rabbit instance.
     */
    public Rabbit addInterceptor(Interceptor interceptor) {
        if (mInterceptors == null) {
            mInterceptors = new ArrayList<>();
        }
        mInterceptors.add(interceptor);
        return this;
    }

    public Rabbit registerNavigator(int type, Navigator navigator) {
        mNavigators.put(type, navigator);
        return this;
    }

    public Rabbit registerFallbackNavigator(Navigator navigator) {
        mNavigators.put(TargetInfo.TYPE_NONE, navigator);
        return this;
    }

    public Rabbit addInterceptor(Interceptor interceptor, Rule rule) {