Source file "org/lwjgl/system/macosx/ObjCRuntime.java" was not found during generation of report.
| Element | Missed Instructions | Cov. | Missed Branches | Cov. | Missed | Cxty | Missed | Lines | Missed | Methods |
| Total | 2,540 of 2,540 | 0% | 210 of 210 | 0% | 294 | 294 | 738 | 738 | 189 | 189 |
| class_addIvar(long, CharSequence, long, byte, CharSequence) | 0% | n/a | 1 | 1 | 7 | 7 | 1 | 1 | ||
| property_copyAttributeValue(long, CharSequence) | 0% | 0% | 2 | 2 | 8 | 8 | 1 | 1 | ||
| objc_copyClassNamesForImage(CharSequence) | 0% | n/a | 1 | 1 | 7 | 7 | 1 | 1 | ||
| objc_copyClassNamesForImage(ByteBuffer) | 0% | 0% | 2 | 2 | 7 | 7 | 1 | 1 | ||
| object_getInstanceVariable(long, CharSequence, PointerBuffer) | 0% | 0% | 2 | 2 | 7 | 7 | 1 | 1 | ||
| method_getArgumentType(long, int, long) | 0% | n/a | 1 | 1 | 5 | 5 | 1 | 1 | ||
| method_getReturnType(long, long) | 0% | n/a | 1 | 1 | 5 | 5 | 1 | 1 | ||
| protocol_copyMethodDescriptionList(long, boolean, boolean) | 0% | n/a | 1 | 1 | 5 | 5 | 1 | 1 | ||
| class_addProperty(long, CharSequence, ObjCPropertyAttribute.Buffer) | 0% | n/a | 1 | 1 | 5 | 5 | 1 | 1 | ||
| protocol_addProperty(long, CharSequence, ObjCPropertyAttribute.Buffer, boolean, boolean) | 0% | n/a | 1 | 1 | 6 | 6 | 1 | 1 | ||
| class_copyIvarList(long) | 0% | n/a | 1 | 1 | 5 | 5 | 1 | 1 | ||
| class_copyMethodList(long) | 0% | n/a | 1 | 1 | 5 | 5 | 1 | 1 | ||
| class_copyProtocolList(long) | 0% | n/a | 1 | 1 | 5 | 5 | 1 | 1 | ||
| class_copyPropertyList(long) | 0% | n/a | 1 | 1 | 5 | 5 | 1 | 1 | ||
| property_copyAttributeList(long) | 0% | n/a | 1 | 1 | 5 | 5 | 1 | 1 | ||
| protocol_copyPropertyList(long) | 0% | n/a | 1 | 1 | 5 | 5 | 1 | 1 | ||
| protocol_copyProtocolList(long) | 0% | n/a | 1 | 1 | 5 | 5 | 1 | 1 | ||
| object_setInstanceVariable(long, CharSequence, ByteBuffer) | 0% | n/a | 1 | 1 | 5 | 5 | 1 | 1 | ||
| objc_copyClassList() | 0% | n/a | 1 | 1 | 5 | 5 | 1 | 1 | ||
| class_addMethod(long, long, long, CharSequence) | 0% | n/a | 1 | 1 | 5 | 5 | 1 | 1 | ||
| class_replaceMethod(long, long, long, CharSequence) | 0% | n/a | 1 | 1 | 5 | 5 | 1 | 1 | ||
| class_replaceProperty(long, CharSequence, ObjCPropertyAttribute.Buffer) | 0% | n/a | 1 | 1 | 6 | 6 | 1 | 1 | ||
| objc_copyProtocolList() | 0% | n/a | 1 | 1 | 5 | 5 | 1 | 1 | ||
| protocol_getProperty(long, CharSequence, boolean, boolean) | 0% | n/a | 1 | 1 | 5 | 5 | 1 | 1 | ||
| objc_copyImageNames() | 0% | n/a | 1 | 1 | 5 | 5 | 1 | 1 | ||
| objc_allocateClassPair(long, CharSequence, long) | 0% | n/a | 1 | 1 | 5 | 5 | 1 | 1 | ||
| protocol_addMethodDescription(long, long, CharSequence, boolean, boolean) | 0% | n/a | 1 | 1 | 6 | 6 | 1 | 1 | ||
| class_getInstanceVariable(long, CharSequence) | 0% | n/a | 1 | 1 | 5 | 5 | 1 | 1 | ||
| class_getClassVariable(long, CharSequence) | 0% | n/a | 1 | 1 | 5 | 5 | 1 | 1 | ||
| class_getProperty(long, CharSequence) | 0% | n/a | 1 | 1 | 5 | 5 | 1 | 1 | ||
| property_copyAttributeValue(long, ByteBuffer) | 0% | 0% | 3 | 3 | 6 | 6 | 1 | 1 | ||
| objc_getClass(CharSequence) | 0% | n/a | 1 | 1 | 5 | 5 | 1 | 1 | ||
| objc_getMetaClass(CharSequence) | 0% | n/a | 1 | 1 | 5 | 5 | 1 | 1 | ||
| objc_lookUpClass(CharSequence) | 0% | n/a | 1 | 1 | 5 | 5 | 1 | 1 | ||
| objc_getRequiredClass(CharSequence) | 0% | n/a | 1 | 1 | 5 | 5 | 1 | 1 | ||
| objc_getProtocol(CharSequence) | 0% | n/a | 1 | 1 | 5 | 5 | 1 | 1 | ||
| objc_allocateProtocol(CharSequence) | 0% | n/a | 1 | 1 | 5 | 5 | 1 | 1 | ||
| nprotocol_addProperty(long, long, long, int, boolean, boolean) | 0% | 0% | 2 | 2 | 6 | 6 | 1 | 1 | ||
| sel_getUid(CharSequence) | 0% | n/a | 1 | 1 | 5 | 5 | 1 | 1 | ||
| sel_registerName(CharSequence) | 0% | n/a | 1 | 1 | 5 | 5 | 1 | 1 | ||
| nclass_addMethod(long, long, long, long) | 0% | 0% | 2 | 2 | 6 | 6 | 1 | 1 | ||
| nclass_replaceMethod(long, long, long, long) | 0% | 0% | 2 | 2 | 6 | 6 | 1 | 1 | ||
| class_setIvarLayout(long, CharSequence) | 0% | n/a | 1 | 1 | 6 | 6 | 1 | 1 | ||
| class_setWeakIvarLayout(long, CharSequence) | 0% | n/a | 1 | 1 | 6 | 6 | 1 | 1 | ||
| objc_setAssociatedObject(long, long, long, long) | 0% | 0% | 2 | 2 | 7 | 7 | 1 | 1 | ||
| object_setIvar(long, long, long) | 0% | 0% | 2 | 2 | 7 | 7 | 1 | 1 | ||
| nclass_addProperty(long, long, long, int) | 0% | 0% | 2 | 2 | 5 | 5 | 1 | 1 | ||
| nclass_replaceProperty(long, long, long, int) | 0% | 0% | 2 | 2 | 6 | 6 | 1 | 1 | ||
| nprotocol_getMethodDescription(long, long, boolean, boolean, long) | 0% | 0% | 2 | 2 | 6 | 6 | 1 | 1 | ||
| nprotocol_addMethodDescription(long, long, long, boolean, boolean) | 0% | 0% | 2 | 2 | 6 | 6 | 1 | 1 | ||
| method_copyArgumentType(long, int) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| class_getInstanceMethod(long, long) | 0% | 0% | 2 | 2 | 5 | 5 | 1 | 1 | ||
| class_getClassMethod(long, long) | 0% | 0% | 2 | 2 | 5 | 5 | 1 | 1 | ||
| class_respondsToSelector(long, long) | 0% | 0% | 2 | 2 | 5 | 5 | 1 | 1 | ||
| class_conformsToProtocol(long, long) | 0% | 0% | 2 | 2 | 5 | 5 | 1 | 1 | ||
| nclass_addIvar(long, long, long, byte, long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| class_addIvar(long, ByteBuffer, long, byte, ByteBuffer) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| class_addProtocol(long, long) | 0% | 0% | 2 | 2 | 5 | 5 | 1 | 1 | ||
| method_setImplementation(long, long) | 0% | 0% | 2 | 2 | 5 | 5 | 1 | 1 | ||
| method_exchangeImplementations(long, long) | 0% | 0% | 2 | 2 | 6 | 6 | 1 | 1 | ||
| protocol_conformsToProtocol(long, long) | 0% | 0% | 2 | 2 | 5 | 5 | 1 | 1 | ||
| protocol_isEqual(long, long) | 0% | 0% | 2 | 2 | 5 | 5 | 1 | 1 | ||
| protocol_addProtocol(long, long) | 0% | 0% | 2 | 2 | 6 | 6 | 1 | 1 | ||
| protocol_addProperty(long, ByteBuffer, ObjCPropertyAttribute.Buffer, boolean, boolean) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| sel_isEqual(long, long) | 0% | 0% | 2 | 2 | 5 | 5 | 1 | 1 | ||
| objc_getAssociatedObject(long, long) | 0% | 0% | 2 | 2 | 5 | 5 | 1 | 1 | ||
| object_getInstanceVariable(long, ByteBuffer, PointerBuffer) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| nmethod_getArgumentType(long, int, long, long) | 0% | 0% | 2 | 2 | 5 | 5 | 1 | 1 | ||
| nprotocol_copyMethodDescriptionList(long, boolean, boolean, long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| nprotocol_getProperty(long, long, boolean, boolean) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| nobject_setInstanceVariable(long, long, long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| nobject_getInstanceVariable(long, long, long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| class_addProperty(long, ByteBuffer, ObjCPropertyAttribute.Buffer) | 0% | 0% | 2 | 2 | 3 | 3 | 1 | 1 | ||
| class_replaceProperty(long, ByteBuffer, ObjCPropertyAttribute.Buffer) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| objc_constructInstance(long, ByteBuffer) | 0% | 0% | 3 | 3 | 4 | 4 | 1 | 1 | ||
| nmethod_getReturnType(long, long, long) | 0% | 0% | 2 | 2 | 5 | 5 | 1 | 1 | ||
| object_copy(long, long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| object_setClass(long, long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| object_getIvar(long, long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| class_setVersion(long, int) | 0% | 0% | 2 | 2 | 5 | 5 | 1 | 1 | ||
| nclass_getInstanceVariable(long, long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| nclass_getClassVariable(long, long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| class_getMethodImplementation(long, long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| nclass_setIvarLayout(long, long) | 0% | 0% | 2 | 2 | 5 | 5 | 1 | 1 | ||
| nclass_setWeakIvarLayout(long, long) | 0% | 0% | 2 | 2 | 5 | 5 | 1 | 1 | ||
| class_createInstance(long, long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| nmethod_copyArgumentType(long, int) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| nproperty_copyAttributeList(long, long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| nproperty_copyAttributeValue(long, long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| nprotocol_copyPropertyList(long, long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| nprotocol_copyProtocolList(long, long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| protocol_addMethodDescription(long, long, ByteBuffer, boolean, boolean) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| nobjc_storeWeak(long, long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| object_dispose(long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| object_getIndexedIvars(long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| object_setInstanceVariable(long, ByteBuffer, ByteBuffer) | 0% | 0% | 2 | 2 | 3 | 3 | 1 | 1 | ||
| class_getVersion(long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| nclass_getIvarLayout(long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| nclass_getWeakIvarLayout(long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| class_addMethod(long, long, long, ByteBuffer) | 0% | 0% | 2 | 2 | 3 | 3 | 1 | 1 | ||
| class_replaceMethod(long, long, long, ByteBuffer) | 0% | 0% | 2 | 2 | 3 | 3 | 1 | 1 | ||
| objc_destructInstance(long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| objc_registerClassPair(long) | 0% | 0% | 2 | 2 | 5 | 5 | 1 | 1 | ||
| objc_disposeClassPair(long) | 0% | 0% | 2 | 2 | 5 | 5 | 1 | 1 | ||
| method_getName(long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| method_getImplementation(long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| nmethod_getTypeEncoding(long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| method_getNumberOfArguments(long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| nmethod_copyReturnType(long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| nivar_getName(long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| nivar_getTypeEncoding(long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| ivar_getOffset(long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| nproperty_getName(long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| nproperty_getAttributes(long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| nprotocol_getName(long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| protocol_getProperty(long, ByteBuffer, boolean, boolean) | 0% | 0% | 2 | 2 | 3 | 3 | 1 | 1 | ||
| objc_registerProtocol(long) | 0% | 0% | 2 | 2 | 5 | 5 | 1 | 1 | ||
| nclass_getImageName(long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| nsel_getName(long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| objc_enumerationMutation(long) | 0% | 0% | 2 | 2 | 5 | 5 | 1 | 1 | ||
| imp_implementationWithBlock(long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| imp_getBlock(long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| imp_removeBlock(long) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| objc_removeAssociatedObjects(long) | 0% | 0% | 2 | 2 | 5 | 5 | 1 | 1 | ||
| objc_allocateClassPair(long, ByteBuffer, long) | 0% | 0% | 2 | 2 | 3 | 3 | 1 | 1 | ||
| objc_storeWeak(PointerBuffer, long) | 0% | 0% | 2 | 2 | 3 | 3 | 1 | 1 | ||
| class_getInstanceVariable(long, ByteBuffer) | 0% | 0% | 2 | 2 | 3 | 3 | 1 | 1 | ||
| class_getClassVariable(long, ByteBuffer) | 0% | 0% | 2 | 2 | 3 | 3 | 1 | 1 | ||
| class_getProperty(long, ByteBuffer) | 0% | 0% | 2 | 2 | 3 | 3 | 1 | 1 | ||
| class_setIvarLayout(long, ByteBuffer) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| class_setWeakIvarLayout(long, ByteBuffer) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
| method_getArgumentType(long, int, ByteBuffer) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| protocol_getMethodDescription(long, long, boolean, boolean, ObjCMethodDescription) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| objc_loadWeak(PointerBuffer) | 0% | 0% | 2 | 2 | 3 | 3 | 1 | 1 | ||
| objc_getClass(ByteBuffer) | 0% | 0% | 2 | 2 | 3 | 3 | 1 | 1 | ||
| objc_getMetaClass(ByteBuffer) | 0% | 0% | 2 | 2 | 3 | 3 | 1 | 1 | ||
| objc_lookUpClass(ByteBuffer) | 0% | 0% | 2 | 2 | 3 | 3 | 1 | 1 | ||
| objc_getRequiredClass(ByteBuffer) | 0% | 0% | 2 | 2 | 3 | 3 | 1 | 1 | ||
| nobjc_allocateClassPair(long, long, long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| method_getReturnType(long, ByteBuffer) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| objc_getProtocol(ByteBuffer) | 0% | 0% | 2 | 2 | 3 | 3 | 1 | 1 | ||
| objc_allocateProtocol(ByteBuffer) | 0% | 0% | 2 | 2 | 3 | 3 | 1 | 1 | ||
| sel_getUid(ByteBuffer) | 0% | 0% | 2 | 2 | 3 | 3 | 1 | 1 | ||
| sel_registerName(ByteBuffer) | 0% | 0% | 2 | 2 | 3 | 3 | 1 | 1 | ||
| nobjc_getClassList(long, int) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| nclass_copyIvarList(long, long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| nclass_copyMethodList(long, long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| nclass_copyProtocolList(long, long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| nclass_getProperty(long, long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| nclass_copyPropertyList(long, long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| nobjc_constructInstance(long, long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| nobjc_copyClassNamesForImage(long, long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| ObjCRuntime() | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| object_getClass(long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| nobject_getClassName(long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| object_getClassName(long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| nobjc_getClass(long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| nobjc_getMetaClass(long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| nobjc_lookUpClass(long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| nobjc_getRequiredClass(long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| objc_getClassList(PointerBuffer) | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
| nobjc_copyClassList(long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| nclass_getName(long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| class_getName(long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| class_isMetaClass(long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| class_getSuperclass(long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| class_getInstanceSize(long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| class_getIvarLayout(long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| class_getWeakIvarLayout(long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| method_getTypeEncoding(long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| method_copyReturnType(long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| ivar_getName(long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| ivar_getTypeEncoding(long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| property_getName(long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| property_getAttributes(long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| nobjc_getProtocol(long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| nobjc_copyProtocolList(long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| protocol_getName(long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| nobjc_allocateProtocol(long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| nobjc_copyImageNames(long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| class_getImageName(long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| sel_getName(long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| nsel_getUid(long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| nsel_registerName(long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| nobjc_setEnumerationMutationHandler(long) | 0% | n/a | 1 | 1 | 3 | 3 | 1 | 1 | ||
| nobjc_loadWeak(long) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| static {...} | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
| objc_setEnumerationMutationHandler(EnumerationMutationHandlerI) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
| getLibrary() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 |