# /*
#  * Copyright (C) 2016 The Android Open Source Project
#  *
#  * Licensed under the Apache License, Version 2.0 (the "License");
#  * you may not use this file except in compliance with the License.
#  * You may obtain a copy of the License at
#  *
#  *      http://www.apache.org/licenses/LICENSE-2.0
#  *
#  * Unless required by applicable law or agreed to in writing, software
#  * distributed under the License is distributed on an "AS IS" BASIS,
#  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  * See the License for the specific language governing permissions and
#  * limitations under the License.
#  */
#
# public interface Iface2 {
#    public void abstractMethod0();
#    public void abstractMethod1();
#    public void abstractMethod2();
#    public void abstractMethod3();
#    public void abstractMethod4();
#    public void abstractMethod5();
#    public void abstractMethod6();
#    public void abstractMethod7();
#    public void abstractMethod8();
#    public void abstractMethod9();
#    public void abstractMethod10();
#    public void abstractMethod11();
#    public void abstractMethod12();
#    public void abstractMethod13();
#    public void abstractMethod14();
#    public void abstractMethod15();
#    public void abstractMethod16();
#    public void abstractMethod17();
#    public void abstractMethod18();
#    public void abstractMethod19();
#    public void abstractMethod20();
#    public void abstractMethod21();
#    public void abstractMethod22();
#    public void abstractMethod23();
#    public void abstractMethod24();
#    public void abstractMethod25();
#    public void abstractMethod26();
#    public void abstractMethod27();
#    public void abstractMethod28();
#    public void abstractMethod29();
#    public void abstractMethod30();
#    public void abstractMethod31();
#    public void abstractMethod32();
#    public void abstractMethod33();
#    public void abstractMethod34();
#    public void abstractMethod35();
#    public void abstractMethod36();
#    public void abstractMethod37();
#    public void abstractMethod38();
#    public void abstractMethod39();
#    public void abstractMethod40();
#    public void abstractMethod41();
#    public void abstractMethod42();
#    public void abstractMethod43();
#    public void abstractMethod44();
#    public void abstractMethod45();
#    public void abstractMethod46();
#    public void abstractMethod47();
#    public void abstractMethod48();
#    public void abstractMethod49();
#    public void abstractMethod50();
#    public void abstractMethod51();
#    public void abstractMethod52();
#    public void abstractMethod53();
#    public void abstractMethod54();
#    public void abstractMethod55();
#    public void abstractMethod56();
#    public void abstractMethod57();
#    public void abstractMethod58();
#    public void abstractMethod59();
#    public void abstractMethod60();
#    public void abstractMethod61();
#    public void abstractMethod62();
#    public void abstractMethod63();
#    public void abstractMethod64();
# }

.class public abstract interface LIface;
.super Ljava/lang/Object;

.method public abstract abstractMethod0()V
.end method

.method public abstract abstractMethod1()V
.end method

.method public abstract abstractMethod2()V
.end method

.method public abstract abstractMethod3()V
.end method

.method public abstract abstractMethod4()V
.end method

.method public abstract abstractMethod5()V
.end method

.method public abstract abstractMethod6()V
.end method

.method public abstract abstractMethod7()V
.end method

.method public abstract abstractMethod8()V
.end method

.method public abstract abstractMethod9()V
.end method

.method public abstract abstractMethod10()V
.end method

.method public abstract abstractMethod11()V
.end method

.method public abstract abstractMethod12()V
.end method

.method public abstract abstractMethod13()V
.end method

.method public abstract abstractMethod14()V
.end method

.method public abstract abstractMethod15()V
.end method

.method public abstract abstractMethod16()V
.end method

.method public abstract abstractMethod17()V
.end method

.method public abstract abstractMethod18()V
.end method

.method public abstract abstractMethod19()V
.end method

.method public abstract abstractMethod20()V
.end method

.method public abstract abstractMethod21()V
.end method

.method public abstract abstractMethod22()V
.end method

.method public abstract abstractMethod23()V
.end method

.method public abstract abstractMethod24()V
.end method

.method public abstract abstractMethod25()V
.end method

.method public abstract abstractMethod26()V
.end method

.method public abstract abstractMethod27()V
.end method

.method public abstract abstractMethod28()V
.end method

.method public abstract abstractMethod29()V
.end method

.method public abstract abstractMethod30()V
.end method

.method public abstract abstractMethod31()V
.end method

.method public abstract abstractMethod32()V
.end method

.method public abstract abstractMethod33()V
.end method

.method public abstract abstractMethod34()V
.end method

.method public abstract abstractMethod35()V
.end method

.method public abstract abstractMethod36()V
.end method

.method public abstract abstractMethod37()V
.end method

.method public abstract abstractMethod38()V
.end method

.method public abstract abstractMethod39()V
.end method

.method public abstract abstractMethod40()V
.end method

.method public abstract abstractMethod41()V
.end method

.method public abstract abstractMethod42()V
.end method

.method public abstract abstractMethod43()V
.end method

.method public abstract abstractMethod44()V
.end method

.method public abstract abstractMethod45()V
.end method

.method public abstract abstractMethod46()V
.end method

.method public abstract abstractMethod47()V
.end method

.method public abstract abstractMethod48()V
.end method

.method public abstract abstractMethod49()V
.end method

.method public abstract abstractMethod50()V
.end method

.method public abstract abstractMethod51()V
.end method

.method public abstract abstractMethod52()V
.end method

.method public abstract abstractMethod53()V
.end method

.method public abstract abstractMethod54()V
.end method

.method public abstract abstractMethod55()V
.end method

.method public abstract abstractMethod56()V
.end method

.method public abstract abstractMethod57()V
.end method

.method public abstract abstractMethod58()V
.end method

.method public abstract abstractMethod59()V
.end method

.method public abstract abstractMethod60()V
.end method

.method public abstract abstractMethod61()V
.end method

.method public abstract abstractMethod62()V
.end method

.method public abstract abstractMethod63()V
.end method

.method public abstract abstractMethod64()V
.end method
