diff options
author | Hiroshi Yamauchi <yamauchi@google.com> | 2014-10-20 16:56:58 -0700 |
---|---|---|
committer | Hiroshi Yamauchi <yamauchi@google.com> | 2014-10-21 16:22:06 -0700 |
commit | f4c15a18eb055735857a280856be5b142e0c1113 (patch) | |
tree | 02a8121007ab1cfe7755d07ccd003c93db8635e1 | |
parent | 1c1786f193323d3bd706463894001117f3471595 (diff) | |
download | art-f4c15a18eb055735857a280856be5b142e0c1113.zip art-f4c15a18eb055735857a280856be5b142e0c1113.tar.gz art-f4c15a18eb055735857a280856be5b142e0c1113.tar.bz2 |
Fix a DCHECK failure IsResolved() || IsErroneous().
Bug: 17914035
Change-Id: I90877d31fdce3d3bf7b5f22f7759f9536ab14d03
-rw-r--r-- | runtime/mirror/class-inl.h | 10 | ||||
-rw-r--r-- | runtime/mirror/class.h | 3 | ||||
-rw-r--r-- | test/125-gc-and-classloading/expected.txt | 1 | ||||
-rw-r--r-- | test/125-gc-and-classloading/info.txt | 1 | ||||
-rw-r--r-- | test/125-gc-and-classloading/src/Main.java | 3072 |
5 files changed, 3081 insertions, 6 deletions
diff --git a/runtime/mirror/class-inl.h b/runtime/mirror/class-inl.h index 3d3ae16..e3295ef 100644 --- a/runtime/mirror/class-inl.h +++ b/runtime/mirror/class-inl.h @@ -112,7 +112,8 @@ inline uint32_t Class::NumVirtualMethods() { template<VerifyObjectFlags kVerifyFlags> inline ArtMethod* Class::GetVirtualMethod(uint32_t i) { - DCHECK(IsResolved<kVerifyFlags>() || IsErroneous<kVerifyFlags>()); + DCHECK(IsResolved<kVerifyFlags>() || IsErroneous<kVerifyFlags>()) + << PrettyClass(this) << " status=" << GetStatus(); return GetVirtualMethods()->Get(i); } @@ -615,12 +616,11 @@ inline uint32_t Class::ComputeClassSize(bool has_embedded_tables, template <bool kVisitClass, typename Visitor> inline void Class::VisitReferences(mirror::Class* klass, const Visitor& visitor) { - // Visit the static fields first so that we don't overwrite the SFields / IFields instance - // fields. VisitInstanceFieldsReferences<kVisitClass>(klass, visitor); - if (!IsTemp()) { + if (!IsTemp() && IsResolved()) { // Temp classes don't ever populate imt/vtable or static fields and they are not even - // allocated with the right size for those. + // allocated with the right size for those. Also, unresolved classes don't have fields + // linked yet. VisitStaticFieldsReferences<kVisitClass>(this, visitor); if (ShouldHaveEmbeddedImtAndVTable()) { VisitEmbeddedImtAndVTable(visitor); diff --git a/runtime/mirror/class.h b/runtime/mirror/class.h index 4383993..c06071b 100644 --- a/runtime/mirror/class.h +++ b/runtime/mirror/class.h @@ -27,6 +27,7 @@ #include "object_callbacks.h" #include "primitive.h" #include "read_barrier_option.h" +#include "utils.h" namespace art { @@ -840,7 +841,7 @@ class MANAGED Class FINAL : public Object { // Returns the number of static fields containing reference types. uint32_t NumReferenceStaticFields() SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { - DCHECK(IsResolved() || IsErroneous()); + DCHECK(IsResolved() || IsErroneous()) << PrettyClass(this) << " status=" << GetStatus(); return GetField32(OFFSET_OF_OBJECT_MEMBER(Class, num_reference_static_fields_)); } diff --git a/test/125-gc-and-classloading/expected.txt b/test/125-gc-and-classloading/expected.txt new file mode 100644 index 0000000..7ef22e9 --- /dev/null +++ b/test/125-gc-and-classloading/expected.txt @@ -0,0 +1 @@ +PASS diff --git a/test/125-gc-and-classloading/info.txt b/test/125-gc-and-classloading/info.txt new file mode 100644 index 0000000..bb6bf12 --- /dev/null +++ b/test/125-gc-and-classloading/info.txt @@ -0,0 +1 @@ +Tests class loading and GC running in parallel. diff --git a/test/125-gc-and-classloading/src/Main.java b/test/125-gc-and-classloading/src/Main.java new file mode 100644 index 0000000..61e123d --- /dev/null +++ b/test/125-gc-and-classloading/src/Main.java @@ -0,0 +1,3072 @@ +/* + * Copyright (C) 2014 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. + */ + +import java.util.concurrent.CountDownLatch; + +public class Main { + + public static void main(String[] args) throws Exception { + // Try to cause a class loading/linking while GC is running. + CountDownLatch cdl = new CountDownLatch(1); + GcThread gcThread = new GcThread(cdl); + ClassLoadingThread classLoadingThread = new ClassLoadingThread(cdl); + gcThread.start(); + classLoadingThread.start(); + gcThread.join(); + classLoadingThread.join(); + System.out.println("PASS"); + } + + static class GcThread extends Thread { + CountDownLatch cdl; + + GcThread(CountDownLatch cdl) { + this.cdl = cdl; + } + + public void run() { + for (int i = 0; i < 10; ++i) { + Runtime.getRuntime().gc(); + if (i == 0) { + cdl.countDown(); + } + } + } + } + + static class ClassLoadingThread extends Thread { + CountDownLatch cdl; + + ClassLoadingThread(CountDownLatch cdl) { + this.cdl = cdl; + } + + public void run() { + try { + cdl.await(); + Class c0 = Class.forName("Main$BigClass"); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + } + + // A class with lots of fields so that the class loading/linking takes a long time. + // It is an abstract class to exercise the non-embedded imt/vtable case. + static abstract class BigClass { + static Object sf1; + static Object sf2; + static Object sf3; + static Object sf4; + static Object sf5; + static Object sf6; + static Object sf7; + static Object sf8; + static Object sf9; + static Object sf10; + static Object sf11; + static Object sf12; + static Object sf13; + static Object sf14; + static Object sf15; + static Object sf16; + static Object sf17; + static Object sf18; + static Object sf19; + static Object sf20; + static Object sf21; + static Object sf22; + static Object sf23; + static Object sf24; + static Object sf25; + static Object sf26; + static Object sf27; + static Object sf28; + static Object sf29; + static Object sf30; + static Object sf31; + static Object sf32; + static Object sf33; + static Object sf34; + static Object sf35; + static Object sf36; + static Object sf37; + static Object sf38; + static Object sf39; + static Object sf40; + static Object sf41; + static Object sf42; + static Object sf43; + static Object sf44; + static Object sf45; + static Object sf46; + static Object sf47; + static Object sf48; + static Object sf49; + static Object sf50; + static Object sf51; + static Object sf52; + static Object sf53; + static Object sf54; + static Object sf55; + static Object sf56; + static Object sf57; + static Object sf58; + static Object sf59; + static Object sf60; + static Object sf61; + static Object sf62; + static Object sf63; + static Object sf64; + static Object sf65; + static Object sf66; + static Object sf67; + static Object sf68; + static Object sf69; + static Object sf70; + static Object sf71; + static Object sf72; + static Object sf73; + static Object sf74; + static Object sf75; + static Object sf76; + static Object sf77; + static Object sf78; + static Object sf79; + static Object sf80; + static Object sf81; + static Object sf82; + static Object sf83; + static Object sf84; + static Object sf85; + static Object sf86; + static Object sf87; + static Object sf88; + static Object sf89; + static Object sf90; + static Object sf91; + static Object sf92; + static Object sf93; + static Object sf94; + static Object sf95; + static Object sf96; + static Object sf97; + static Object sf98; + static Object sf99; + static Object sf100; + static Object sf101; + static Object sf102; + static Object sf103; + static Object sf104; + static Object sf105; + static Object sf106; + static Object sf107; + static Object sf108; + static Object sf109; + static Object sf110; + static Object sf111; + static Object sf112; + static Object sf113; + static Object sf114; + static Object sf115; + static Object sf116; + static Object sf117; + static Object sf118; + static Object sf119; + static Object sf120; + static Object sf121; + static Object sf122; + static Object sf123; + static Object sf124; + static Object sf125; + static Object sf126; + static Object sf127; + static Object sf128; + static Object sf129; + static Object sf130; + static Object sf131; + static Object sf132; + static Object sf133; + static Object sf134; + static Object sf135; + static Object sf136; + static Object sf137; + static Object sf138; + static Object sf139; + static Object sf140; + static Object sf141; + static Object sf142; + static Object sf143; + static Object sf144; + static Object sf145; + static Object sf146; + static Object sf147; + static Object sf148; + static Object sf149; + static Object sf150; + static Object sf151; + static Object sf152; + static Object sf153; + static Object sf154; + static Object sf155; + static Object sf156; + static Object sf157; + static Object sf158; + static Object sf159; + static Object sf160; + static Object sf161; + static Object sf162; + static Object sf163; + static Object sf164; + static Object sf165; + static Object sf166; + static Object sf167; + static Object sf168; + static Object sf169; + static Object sf170; + static Object sf171; + static Object sf172; + static Object sf173; + static Object sf174; + static Object sf175; + static Object sf176; + static Object sf177; + static Object sf178; + static Object sf179; + static Object sf180; + static Object sf181; + static Object sf182; + static Object sf183; + static Object sf184; + static Object sf185; + static Object sf186; + static Object sf187; + static Object sf188; + static Object sf189; + static Object sf190; + static Object sf191; + static Object sf192; + static Object sf193; + static Object sf194; + static Object sf195; + static Object sf196; + static Object sf197; + static Object sf198; + static Object sf199; + static Object sf200; + static Object sf201; + static Object sf202; + static Object sf203; + static Object sf204; + static Object sf205; + static Object sf206; + static Object sf207; + static Object sf208; + static Object sf209; + static Object sf210; + static Object sf211; + static Object sf212; + static Object sf213; + static Object sf214; + static Object sf215; + static Object sf216; + static Object sf217; + static Object sf218; + static Object sf219; + static Object sf220; + static Object sf221; + static Object sf222; + static Object sf223; + static Object sf224; + static Object sf225; + static Object sf226; + static Object sf227; + static Object sf228; + static Object sf229; + static Object sf230; + static Object sf231; + static Object sf232; + static Object sf233; + static Object sf234; + static Object sf235; + static Object sf236; + static Object sf237; + static Object sf238; + static Object sf239; + static Object sf240; + static Object sf241; + static Object sf242; + static Object sf243; + static Object sf244; + static Object sf245; + static Object sf246; + static Object sf247; + static Object sf248; + static Object sf249; + static Object sf250; + static Object sf251; + static Object sf252; + static Object sf253; + static Object sf254; + static Object sf255; + static Object sf256; + static Object sf257; + static Object sf258; + static Object sf259; + static Object sf260; + static Object sf261; + static Object sf262; + static Object sf263; + static Object sf264; + static Object sf265; + static Object sf266; + static Object sf267; + static Object sf268; + static Object sf269; + static Object sf270; + static Object sf271; + static Object sf272; + static Object sf273; + static Object sf274; + static Object sf275; + static Object sf276; + static Object sf277; + static Object sf278; + static Object sf279; + static Object sf280; + static Object sf281; + static Object sf282; + static Object sf283; + static Object sf284; + static Object sf285; + static Object sf286; + static Object sf287; + static Object sf288; + static Object sf289; + static Object sf290; + static Object sf291; + static Object sf292; + static Object sf293; + static Object sf294; + static Object sf295; + static Object sf296; + static Object sf297; + static Object sf298; + static Object sf299; + static Object sf300; + static Object sf301; + static Object sf302; + static Object sf303; + static Object sf304; + static Object sf305; + static Object sf306; + static Object sf307; + static Object sf308; + static Object sf309; + static Object sf310; + static Object sf311; + static Object sf312; + static Object sf313; + static Object sf314; + static Object sf315; + static Object sf316; + static Object sf317; + static Object sf318; + static Object sf319; + static Object sf320; + static Object sf321; + static Object sf322; + static Object sf323; + static Object sf324; + static Object sf325; + static Object sf326; + static Object sf327; + static Object sf328; + static Object sf329; + static Object sf330; + static Object sf331; + static Object sf332; + static Object sf333; + static Object sf334; + static Object sf335; + static Object sf336; + static Object sf337; + static Object sf338; + static Object sf339; + static Object sf340; + static Object sf341; + static Object sf342; + static Object sf343; + static Object sf344; + static Object sf345; + static Object sf346; + static Object sf347; + static Object sf348; + static Object sf349; + static Object sf350; + static Object sf351; + static Object sf352; + static Object sf353; + static Object sf354; + static Object sf355; + static Object sf356; + static Object sf357; + static Object sf358; + static Object sf359; + static Object sf360; + static Object sf361; + static Object sf362; + static Object sf363; + static Object sf364; + static Object sf365; + static Object sf366; + static Object sf367; + static Object sf368; + static Object sf369; + static Object sf370; + static Object sf371; + static Object sf372; + static Object sf373; + static Object sf374; + static Object sf375; + static Object sf376; + static Object sf377; + static Object sf378; + static Object sf379; + static Object sf380; + static Object sf381; + static Object sf382; + static Object sf383; + static Object sf384; + static Object sf385; + static Object sf386; + static Object sf387; + static Object sf388; + static Object sf389; + static Object sf390; + static Object sf391; + static Object sf392; + static Object sf393; + static Object sf394; + static Object sf395; + static Object sf396; + static Object sf397; + static Object sf398; + static Object sf399; + static Object sf400; + static Object sf401; + static Object sf402; + static Object sf403; + static Object sf404; + static Object sf405; + static Object sf406; + static Object sf407; + static Object sf408; + static Object sf409; + static Object sf410; + static Object sf411; + static Object sf412; + static Object sf413; + static Object sf414; + static Object sf415; + static Object sf416; + static Object sf417; + static Object sf418; + static Object sf419; + static Object sf420; + static Object sf421; + static Object sf422; + static Object sf423; + static Object sf424; + static Object sf425; + static Object sf426; + static Object sf427; + static Object sf428; + static Object sf429; + static Object sf430; + static Object sf431; + static Object sf432; + static Object sf433; + static Object sf434; + static Object sf435; + static Object sf436; + static Object sf437; + static Object sf438; + static Object sf439; + static Object sf440; + static Object sf441; + static Object sf442; + static Object sf443; + static Object sf444; + static Object sf445; + static Object sf446; + static Object sf447; + static Object sf448; + static Object sf449; + static Object sf450; + static Object sf451; + static Object sf452; + static Object sf453; + static Object sf454; + static Object sf455; + static Object sf456; + static Object sf457; + static Object sf458; + static Object sf459; + static Object sf460; + static Object sf461; + static Object sf462; + static Object sf463; + static Object sf464; + static Object sf465; + static Object sf466; + static Object sf467; + static Object sf468; + static Object sf469; + static Object sf470; + static Object sf471; + static Object sf472; + static Object sf473; + static Object sf474; + static Object sf475; + static Object sf476; + static Object sf477; + static Object sf478; + static Object sf479; + static Object sf480; + static Object sf481; + static Object sf482; + static Object sf483; + static Object sf484; + static Object sf485; + static Object sf486; + static Object sf487; + static Object sf488; + static Object sf489; + static Object sf490; + static Object sf491; + static Object sf492; + static Object sf493; + static Object sf494; + static Object sf495; + static Object sf496; + static Object sf497; + static Object sf498; + static Object sf499; + static Object sf500; + static Object sf501; + static Object sf502; + static Object sf503; + static Object sf504; + static Object sf505; + static Object sf506; + static Object sf507; + static Object sf508; + static Object sf509; + static Object sf510; + static Object sf511; + static Object sf512; + static Object sf513; + static Object sf514; + static Object sf515; + static Object sf516; + static Object sf517; + static Object sf518; + static Object sf519; + static Object sf520; + static Object sf521; + static Object sf522; + static Object sf523; + static Object sf524; + static Object sf525; + static Object sf526; + static Object sf527; + static Object sf528; + static Object sf529; + static Object sf530; + static Object sf531; + static Object sf532; + static Object sf533; + static Object sf534; + static Object sf535; + static Object sf536; + static Object sf537; + static Object sf538; + static Object sf539; + static Object sf540; + static Object sf541; + static Object sf542; + static Object sf543; + static Object sf544; + static Object sf545; + static Object sf546; + static Object sf547; + static Object sf548; + static Object sf549; + static Object sf550; + static Object sf551; + static Object sf552; + static Object sf553; + static Object sf554; + static Object sf555; + static Object sf556; + static Object sf557; + static Object sf558; + static Object sf559; + static Object sf560; + static Object sf561; + static Object sf562; + static Object sf563; + static Object sf564; + static Object sf565; + static Object sf566; + static Object sf567; + static Object sf568; + static Object sf569; + static Object sf570; + static Object sf571; + static Object sf572; + static Object sf573; + static Object sf574; + static Object sf575; + static Object sf576; + static Object sf577; + static Object sf578; + static Object sf579; + static Object sf580; + static Object sf581; + static Object sf582; + static Object sf583; + static Object sf584; + static Object sf585; + static Object sf586; + static Object sf587; + static Object sf588; + static Object sf589; + static Object sf590; + static Object sf591; + static Object sf592; + static Object sf593; + static Object sf594; + static Object sf595; + static Object sf596; + static Object sf597; + static Object sf598; + static Object sf599; + static Object sf600; + static Object sf601; + static Object sf602; + static Object sf603; + static Object sf604; + static Object sf605; + static Object sf606; + static Object sf607; + static Object sf608; + static Object sf609; + static Object sf610; + static Object sf611; + static Object sf612; + static Object sf613; + static Object sf614; + static Object sf615; + static Object sf616; + static Object sf617; + static Object sf618; + static Object sf619; + static Object sf620; + static Object sf621; + static Object sf622; + static Object sf623; + static Object sf624; + static Object sf625; + static Object sf626; + static Object sf627; + static Object sf628; + static Object sf629; + static Object sf630; + static Object sf631; + static Object sf632; + static Object sf633; + static Object sf634; + static Object sf635; + static Object sf636; + static Object sf637; + static Object sf638; + static Object sf639; + static Object sf640; + static Object sf641; + static Object sf642; + static Object sf643; + static Object sf644; + static Object sf645; + static Object sf646; + static Object sf647; + static Object sf648; + static Object sf649; + static Object sf650; + static Object sf651; + static Object sf652; + static Object sf653; + static Object sf654; + static Object sf655; + static Object sf656; + static Object sf657; + static Object sf658; + static Object sf659; + static Object sf660; + static Object sf661; + static Object sf662; + static Object sf663; + static Object sf664; + static Object sf665; + static Object sf666; + static Object sf667; + static Object sf668; + static Object sf669; + static Object sf670; + static Object sf671; + static Object sf672; + static Object sf673; + static Object sf674; + static Object sf675; + static Object sf676; + static Object sf677; + static Object sf678; + static Object sf679; + static Object sf680; + static Object sf681; + static Object sf682; + static Object sf683; + static Object sf684; + static Object sf685; + static Object sf686; + static Object sf687; + static Object sf688; + static Object sf689; + static Object sf690; + static Object sf691; + static Object sf692; + static Object sf693; + static Object sf694; + static Object sf695; + static Object sf696; + static Object sf697; + static Object sf698; + static Object sf699; + static Object sf700; + static Object sf701; + static Object sf702; + static Object sf703; + static Object sf704; + static Object sf705; + static Object sf706; + static Object sf707; + static Object sf708; + static Object sf709; + static Object sf710; + static Object sf711; + static Object sf712; + static Object sf713; + static Object sf714; + static Object sf715; + static Object sf716; + static Object sf717; + static Object sf718; + static Object sf719; + static Object sf720; + static Object sf721; + static Object sf722; + static Object sf723; + static Object sf724; + static Object sf725; + static Object sf726; + static Object sf727; + static Object sf728; + static Object sf729; + static Object sf730; + static Object sf731; + static Object sf732; + static Object sf733; + static Object sf734; + static Object sf735; + static Object sf736; + static Object sf737; + static Object sf738; + static Object sf739; + static Object sf740; + static Object sf741; + static Object sf742; + static Object sf743; + static Object sf744; + static Object sf745; + static Object sf746; + static Object sf747; + static Object sf748; + static Object sf749; + static Object sf750; + static Object sf751; + static Object sf752; + static Object sf753; + static Object sf754; + static Object sf755; + static Object sf756; + static Object sf757; + static Object sf758; + static Object sf759; + static Object sf760; + static Object sf761; + static Object sf762; + static Object sf763; + static Object sf764; + static Object sf765; + static Object sf766; + static Object sf767; + static Object sf768; + static Object sf769; + static Object sf770; + static Object sf771; + static Object sf772; + static Object sf773; + static Object sf774; + static Object sf775; + static Object sf776; + static Object sf777; + static Object sf778; + static Object sf779; + static Object sf780; + static Object sf781; + static Object sf782; + static Object sf783; + static Object sf784; + static Object sf785; + static Object sf786; + static Object sf787; + static Object sf788; + static Object sf789; + static Object sf790; + static Object sf791; + static Object sf792; + static Object sf793; + static Object sf794; + static Object sf795; + static Object sf796; + static Object sf797; + static Object sf798; + static Object sf799; + static Object sf800; + static Object sf801; + static Object sf802; + static Object sf803; + static Object sf804; + static Object sf805; + static Object sf806; + static Object sf807; + static Object sf808; + static Object sf809; + static Object sf810; + static Object sf811; + static Object sf812; + static Object sf813; + static Object sf814; + static Object sf815; + static Object sf816; + static Object sf817; + static Object sf818; + static Object sf819; + static Object sf820; + static Object sf821; + static Object sf822; + static Object sf823; + static Object sf824; + static Object sf825; + static Object sf826; + static Object sf827; + static Object sf828; + static Object sf829; + static Object sf830; + static Object sf831; + static Object sf832; + static Object sf833; + static Object sf834; + static Object sf835; + static Object sf836; + static Object sf837; + static Object sf838; + static Object sf839; + static Object sf840; + static Object sf841; + static Object sf842; + static Object sf843; + static Object sf844; + static Object sf845; + static Object sf846; + static Object sf847; + static Object sf848; + static Object sf849; + static Object sf850; + static Object sf851; + static Object sf852; + static Object sf853; + static Object sf854; + static Object sf855; + static Object sf856; + static Object sf857; + static Object sf858; + static Object sf859; + static Object sf860; + static Object sf861; + static Object sf862; + static Object sf863; + static Object sf864; + static Object sf865; + static Object sf866; + static Object sf867; + static Object sf868; + static Object sf869; + static Object sf870; + static Object sf871; + static Object sf872; + static Object sf873; + static Object sf874; + static Object sf875; + static Object sf876; + static Object sf877; + static Object sf878; + static Object sf879; + static Object sf880; + static Object sf881; + static Object sf882; + static Object sf883; + static Object sf884; + static Object sf885; + static Object sf886; + static Object sf887; + static Object sf888; + static Object sf889; + static Object sf890; + static Object sf891; + static Object sf892; + static Object sf893; + static Object sf894; + static Object sf895; + static Object sf896; + static Object sf897; + static Object sf898; + static Object sf899; + static Object sf900; + static Object sf901; + static Object sf902; + static Object sf903; + static Object sf904; + static Object sf905; + static Object sf906; + static Object sf907; + static Object sf908; + static Object sf909; + static Object sf910; + static Object sf911; + static Object sf912; + static Object sf913; + static Object sf914; + static Object sf915; + static Object sf916; + static Object sf917; + static Object sf918; + static Object sf919; + static Object sf920; + static Object sf921; + static Object sf922; + static Object sf923; + static Object sf924; + static Object sf925; + static Object sf926; + static Object sf927; + static Object sf928; + static Object sf929; + static Object sf930; + static Object sf931; + static Object sf932; + static Object sf933; + static Object sf934; + static Object sf935; + static Object sf936; + static Object sf937; + static Object sf938; + static Object sf939; + static Object sf940; + static Object sf941; + static Object sf942; + static Object sf943; + static Object sf944; + static Object sf945; + static Object sf946; + static Object sf947; + static Object sf948; + static Object sf949; + static Object sf950; + static Object sf951; + static Object sf952; + static Object sf953; + static Object sf954; + static Object sf955; + static Object sf956; + static Object sf957; + static Object sf958; + static Object sf959; + static Object sf960; + static Object sf961; + static Object sf962; + static Object sf963; + static Object sf964; + static Object sf965; + static Object sf966; + static Object sf967; + static Object sf968; + static Object sf969; + static Object sf970; + static Object sf971; + static Object sf972; + static Object sf973; + static Object sf974; + static Object sf975; + static Object sf976; + static Object sf977; + static Object sf978; + static Object sf979; + static Object sf980; + static Object sf981; + static Object sf982; + static Object sf983; + static Object sf984; + static Object sf985; + static Object sf986; + static Object sf987; + static Object sf988; + static Object sf989; + static Object sf990; + static Object sf991; + static Object sf992; + static Object sf993; + static Object sf994; + static Object sf995; + static Object sf996; + static Object sf997; + static Object sf998; + static Object sf999; + static Object sf1000; + static Object sf1001; + static Object sf1002; + static Object sf1003; + static Object sf1004; + static Object sf1005; + static Object sf1006; + static Object sf1007; + static Object sf1008; + static Object sf1009; + static Object sf1010; + static Object sf1011; + static Object sf1012; + static Object sf1013; + static Object sf1014; + static Object sf1015; + static Object sf1016; + static Object sf1017; + static Object sf1018; + static Object sf1019; + static Object sf1020; + static Object sf1021; + static Object sf1022; + static Object sf1023; + static Object sf1024; + static Object sf1025; + static Object sf1026; + static Object sf1027; + static Object sf1028; + static Object sf1029; + static Object sf1030; + static Object sf1031; + static Object sf1032; + static Object sf1033; + static Object sf1034; + static Object sf1035; + static Object sf1036; + static Object sf1037; + static Object sf1038; + static Object sf1039; + static Object sf1040; + static Object sf1041; + static Object sf1042; + static Object sf1043; + static Object sf1044; + static Object sf1045; + static Object sf1046; + static Object sf1047; + static Object sf1048; + static Object sf1049; + static Object sf1050; + static Object sf1051; + static Object sf1052; + static Object sf1053; + static Object sf1054; + static Object sf1055; + static Object sf1056; + static Object sf1057; + static Object sf1058; + static Object sf1059; + static Object sf1060; + static Object sf1061; + static Object sf1062; + static Object sf1063; + static Object sf1064; + static Object sf1065; + static Object sf1066; + static Object sf1067; + static Object sf1068; + static Object sf1069; + static Object sf1070; + static Object sf1071; + static Object sf1072; + static Object sf1073; + static Object sf1074; + static Object sf1075; + static Object sf1076; + static Object sf1077; + static Object sf1078; + static Object sf1079; + static Object sf1080; + static Object sf1081; + static Object sf1082; + static Object sf1083; + static Object sf1084; + static Object sf1085; + static Object sf1086; + static Object sf1087; + static Object sf1088; + static Object sf1089; + static Object sf1090; + static Object sf1091; + static Object sf1092; + static Object sf1093; + static Object sf1094; + static Object sf1095; + static Object sf1096; + static Object sf1097; + static Object sf1098; + static Object sf1099; + static Object sf1100; + static Object sf1101; + static Object sf1102; + static Object sf1103; + static Object sf1104; + static Object sf1105; + static Object sf1106; + static Object sf1107; + static Object sf1108; + static Object sf1109; + static Object sf1110; + static Object sf1111; + static Object sf1112; + static Object sf1113; + static Object sf1114; + static Object sf1115; + static Object sf1116; + static Object sf1117; + static Object sf1118; + static Object sf1119; + static Object sf1120; + static Object sf1121; + static Object sf1122; + static Object sf1123; + static Object sf1124; + static Object sf1125; + static Object sf1126; + static Object sf1127; + static Object sf1128; + static Object sf1129; + static Object sf1130; + static Object sf1131; + static Object sf1132; + static Object sf1133; + static Object sf1134; + static Object sf1135; + static Object sf1136; + static Object sf1137; + static Object sf1138; + static Object sf1139; + static Object sf1140; + static Object sf1141; + static Object sf1142; + static Object sf1143; + static Object sf1144; + static Object sf1145; + static Object sf1146; + static Object sf1147; + static Object sf1148; + static Object sf1149; + static Object sf1150; + static Object sf1151; + static Object sf1152; + static Object sf1153; + static Object sf1154; + static Object sf1155; + static Object sf1156; + static Object sf1157; + static Object sf1158; + static Object sf1159; + static Object sf1160; + static Object sf1161; + static Object sf1162; + static Object sf1163; + static Object sf1164; + static Object sf1165; + static Object sf1166; + static Object sf1167; + static Object sf1168; + static Object sf1169; + static Object sf1170; + static Object sf1171; + static Object sf1172; + static Object sf1173; + static Object sf1174; + static Object sf1175; + static Object sf1176; + static Object sf1177; + static Object sf1178; + static Object sf1179; + static Object sf1180; + static Object sf1181; + static Object sf1182; + static Object sf1183; + static Object sf1184; + static Object sf1185; + static Object sf1186; + static Object sf1187; + static Object sf1188; + static Object sf1189; + static Object sf1190; + static Object sf1191; + static Object sf1192; + static Object sf1193; + static Object sf1194; + static Object sf1195; + static Object sf1196; + static Object sf1197; + static Object sf1198; + static Object sf1199; + static Object sf1200; + static Object sf1201; + static Object sf1202; + static Object sf1203; + static Object sf1204; + static Object sf1205; + static Object sf1206; + static Object sf1207; + static Object sf1208; + static Object sf1209; + static Object sf1210; + static Object sf1211; + static Object sf1212; + static Object sf1213; + static Object sf1214; + static Object sf1215; + static Object sf1216; + static Object sf1217; + static Object sf1218; + static Object sf1219; + static Object sf1220; + static Object sf1221; + static Object sf1222; + static Object sf1223; + static Object sf1224; + static Object sf1225; + static Object sf1226; + static Object sf1227; + static Object sf1228; + static Object sf1229; + static Object sf1230; + static Object sf1231; + static Object sf1232; + static Object sf1233; + static Object sf1234; + static Object sf1235; + static Object sf1236; + static Object sf1237; + static Object sf1238; + static Object sf1239; + static Object sf1240; + static Object sf1241; + static Object sf1242; + static Object sf1243; + static Object sf1244; + static Object sf1245; + static Object sf1246; + static Object sf1247; + static Object sf1248; + static Object sf1249; + static Object sf1250; + static Object sf1251; + static Object sf1252; + static Object sf1253; + static Object sf1254; + static Object sf1255; + static Object sf1256; + static Object sf1257; + static Object sf1258; + static Object sf1259; + static Object sf1260; + static Object sf1261; + static Object sf1262; + static Object sf1263; + static Object sf1264; + static Object sf1265; + static Object sf1266; + static Object sf1267; + static Object sf1268; + static Object sf1269; + static Object sf1270; + static Object sf1271; + static Object sf1272; + static Object sf1273; + static Object sf1274; + static Object sf1275; + static Object sf1276; + static Object sf1277; + static Object sf1278; + static Object sf1279; + static Object sf1280; + static Object sf1281; + static Object sf1282; + static Object sf1283; + static Object sf1284; + static Object sf1285; + static Object sf1286; + static Object sf1287; + static Object sf1288; + static Object sf1289; + static Object sf1290; + static Object sf1291; + static Object sf1292; + static Object sf1293; + static Object sf1294; + static Object sf1295; + static Object sf1296; + static Object sf1297; + static Object sf1298; + static Object sf1299; + static Object sf1300; + static Object sf1301; + static Object sf1302; + static Object sf1303; + static Object sf1304; + static Object sf1305; + static Object sf1306; + static Object sf1307; + static Object sf1308; + static Object sf1309; + static Object sf1310; + static Object sf1311; + static Object sf1312; + static Object sf1313; + static Object sf1314; + static Object sf1315; + static Object sf1316; + static Object sf1317; + static Object sf1318; + static Object sf1319; + static Object sf1320; + static Object sf1321; + static Object sf1322; + static Object sf1323; + static Object sf1324; + static Object sf1325; + static Object sf1326; + static Object sf1327; + static Object sf1328; + static Object sf1329; + static Object sf1330; + static Object sf1331; + static Object sf1332; + static Object sf1333; + static Object sf1334; + static Object sf1335; + static Object sf1336; + static Object sf1337; + static Object sf1338; + static Object sf1339; + static Object sf1340; + static Object sf1341; + static Object sf1342; + static Object sf1343; + static Object sf1344; + static Object sf1345; + static Object sf1346; + static Object sf1347; + static Object sf1348; + static Object sf1349; + static Object sf1350; + static Object sf1351; + static Object sf1352; + static Object sf1353; + static Object sf1354; + static Object sf1355; + static Object sf1356; + static Object sf1357; + static Object sf1358; + static Object sf1359; + static Object sf1360; + static Object sf1361; + static Object sf1362; + static Object sf1363; + static Object sf1364; + static Object sf1365; + static Object sf1366; + static Object sf1367; + static Object sf1368; + static Object sf1369; + static Object sf1370; + static Object sf1371; + static Object sf1372; + static Object sf1373; + static Object sf1374; + static Object sf1375; + static Object sf1376; + static Object sf1377; + static Object sf1378; + static Object sf1379; + static Object sf1380; + static Object sf1381; + static Object sf1382; + static Object sf1383; + static Object sf1384; + static Object sf1385; + static Object sf1386; + static Object sf1387; + static Object sf1388; + static Object sf1389; + static Object sf1390; + static Object sf1391; + static Object sf1392; + static Object sf1393; + static Object sf1394; + static Object sf1395; + static Object sf1396; + static Object sf1397; + static Object sf1398; + static Object sf1399; + static Object sf1400; + static Object sf1401; + static Object sf1402; + static Object sf1403; + static Object sf1404; + static Object sf1405; + static Object sf1406; + static Object sf1407; + static Object sf1408; + static Object sf1409; + static Object sf1410; + static Object sf1411; + static Object sf1412; + static Object sf1413; + static Object sf1414; + static Object sf1415; + static Object sf1416; + static Object sf1417; + static Object sf1418; + static Object sf1419; + static Object sf1420; + static Object sf1421; + static Object sf1422; + static Object sf1423; + static Object sf1424; + static Object sf1425; + static Object sf1426; + static Object sf1427; + static Object sf1428; + static Object sf1429; + static Object sf1430; + static Object sf1431; + static Object sf1432; + static Object sf1433; + static Object sf1434; + static Object sf1435; + static Object sf1436; + static Object sf1437; + static Object sf1438; + static Object sf1439; + static Object sf1440; + static Object sf1441; + static Object sf1442; + static Object sf1443; + static Object sf1444; + static Object sf1445; + static Object sf1446; + static Object sf1447; + static Object sf1448; + static Object sf1449; + static Object sf1450; + static Object sf1451; + static Object sf1452; + static Object sf1453; + static Object sf1454; + static Object sf1455; + static Object sf1456; + static Object sf1457; + static Object sf1458; + static Object sf1459; + static Object sf1460; + static Object sf1461; + static Object sf1462; + static Object sf1463; + static Object sf1464; + static Object sf1465; + static Object sf1466; + static Object sf1467; + static Object sf1468; + static Object sf1469; + static Object sf1470; + static Object sf1471; + static Object sf1472; + static Object sf1473; + static Object sf1474; + static Object sf1475; + static Object sf1476; + static Object sf1477; + static Object sf1478; + static Object sf1479; + static Object sf1480; + static Object sf1481; + static Object sf1482; + static Object sf1483; + static Object sf1484; + static Object sf1485; + static Object sf1486; + static Object sf1487; + static Object sf1488; + static Object sf1489; + static Object sf1490; + static Object sf1491; + static Object sf1492; + static Object sf1493; + static Object sf1494; + static Object sf1495; + static Object sf1496; + static Object sf1497; + static Object sf1498; + static Object sf1499; + static Object sf1500; + static Object sf1501; + static Object sf1502; + static Object sf1503; + static Object sf1504; + static Object sf1505; + static Object sf1506; + static Object sf1507; + static Object sf1508; + static Object sf1509; + static Object sf1510; + static Object sf1511; + static Object sf1512; + static Object sf1513; + static Object sf1514; + static Object sf1515; + static Object sf1516; + static Object sf1517; + static Object sf1518; + static Object sf1519; + static Object sf1520; + static Object sf1521; + static Object sf1522; + static Object sf1523; + static Object sf1524; + static Object sf1525; + static Object sf1526; + static Object sf1527; + static Object sf1528; + static Object sf1529; + static Object sf1530; + static Object sf1531; + static Object sf1532; + static Object sf1533; + static Object sf1534; + static Object sf1535; + static Object sf1536; + static Object sf1537; + static Object sf1538; + static Object sf1539; + static Object sf1540; + static Object sf1541; + static Object sf1542; + static Object sf1543; + static Object sf1544; + static Object sf1545; + static Object sf1546; + static Object sf1547; + static Object sf1548; + static Object sf1549; + static Object sf1550; + static Object sf1551; + static Object sf1552; + static Object sf1553; + static Object sf1554; + static Object sf1555; + static Object sf1556; + static Object sf1557; + static Object sf1558; + static Object sf1559; + static Object sf1560; + static Object sf1561; + static Object sf1562; + static Object sf1563; + static Object sf1564; + static Object sf1565; + static Object sf1566; + static Object sf1567; + static Object sf1568; + static Object sf1569; + static Object sf1570; + static Object sf1571; + static Object sf1572; + static Object sf1573; + static Object sf1574; + static Object sf1575; + static Object sf1576; + static Object sf1577; + static Object sf1578; + static Object sf1579; + static Object sf1580; + static Object sf1581; + static Object sf1582; + static Object sf1583; + static Object sf1584; + static Object sf1585; + static Object sf1586; + static Object sf1587; + static Object sf1588; + static Object sf1589; + static Object sf1590; + static Object sf1591; + static Object sf1592; + static Object sf1593; + static Object sf1594; + static Object sf1595; + static Object sf1596; + static Object sf1597; + static Object sf1598; + static Object sf1599; + static Object sf1600; + static Object sf1601; + static Object sf1602; + static Object sf1603; + static Object sf1604; + static Object sf1605; + static Object sf1606; + static Object sf1607; + static Object sf1608; + static Object sf1609; + static Object sf1610; + static Object sf1611; + static Object sf1612; + static Object sf1613; + static Object sf1614; + static Object sf1615; + static Object sf1616; + static Object sf1617; + static Object sf1618; + static Object sf1619; + static Object sf1620; + static Object sf1621; + static Object sf1622; + static Object sf1623; + static Object sf1624; + static Object sf1625; + static Object sf1626; + static Object sf1627; + static Object sf1628; + static Object sf1629; + static Object sf1630; + static Object sf1631; + static Object sf1632; + static Object sf1633; + static Object sf1634; + static Object sf1635; + static Object sf1636; + static Object sf1637; + static Object sf1638; + static Object sf1639; + static Object sf1640; + static Object sf1641; + static Object sf1642; + static Object sf1643; + static Object sf1644; + static Object sf1645; + static Object sf1646; + static Object sf1647; + static Object sf1648; + static Object sf1649; + static Object sf1650; + static Object sf1651; + static Object sf1652; + static Object sf1653; + static Object sf1654; + static Object sf1655; + static Object sf1656; + static Object sf1657; + static Object sf1658; + static Object sf1659; + static Object sf1660; + static Object sf1661; + static Object sf1662; + static Object sf1663; + static Object sf1664; + static Object sf1665; + static Object sf1666; + static Object sf1667; + static Object sf1668; + static Object sf1669; + static Object sf1670; + static Object sf1671; + static Object sf1672; + static Object sf1673; + static Object sf1674; + static Object sf1675; + static Object sf1676; + static Object sf1677; + static Object sf1678; + static Object sf1679; + static Object sf1680; + static Object sf1681; + static Object sf1682; + static Object sf1683; + static Object sf1684; + static Object sf1685; + static Object sf1686; + static Object sf1687; + static Object sf1688; + static Object sf1689; + static Object sf1690; + static Object sf1691; + static Object sf1692; + static Object sf1693; + static Object sf1694; + static Object sf1695; + static Object sf1696; + static Object sf1697; + static Object sf1698; + static Object sf1699; + static Object sf1700; + static Object sf1701; + static Object sf1702; + static Object sf1703; + static Object sf1704; + static Object sf1705; + static Object sf1706; + static Object sf1707; + static Object sf1708; + static Object sf1709; + static Object sf1710; + static Object sf1711; + static Object sf1712; + static Object sf1713; + static Object sf1714; + static Object sf1715; + static Object sf1716; + static Object sf1717; + static Object sf1718; + static Object sf1719; + static Object sf1720; + static Object sf1721; + static Object sf1722; + static Object sf1723; + static Object sf1724; + static Object sf1725; + static Object sf1726; + static Object sf1727; + static Object sf1728; + static Object sf1729; + static Object sf1730; + static Object sf1731; + static Object sf1732; + static Object sf1733; + static Object sf1734; + static Object sf1735; + static Object sf1736; + static Object sf1737; + static Object sf1738; + static Object sf1739; + static Object sf1740; + static Object sf1741; + static Object sf1742; + static Object sf1743; + static Object sf1744; + static Object sf1745; + static Object sf1746; + static Object sf1747; + static Object sf1748; + static Object sf1749; + static Object sf1750; + static Object sf1751; + static Object sf1752; + static Object sf1753; + static Object sf1754; + static Object sf1755; + static Object sf1756; + static Object sf1757; + static Object sf1758; + static Object sf1759; + static Object sf1760; + static Object sf1761; + static Object sf1762; + static Object sf1763; + static Object sf1764; + static Object sf1765; + static Object sf1766; + static Object sf1767; + static Object sf1768; + static Object sf1769; + static Object sf1770; + static Object sf1771; + static Object sf1772; + static Object sf1773; + static Object sf1774; + static Object sf1775; + static Object sf1776; + static Object sf1777; + static Object sf1778; + static Object sf1779; + static Object sf1780; + static Object sf1781; + static Object sf1782; + static Object sf1783; + static Object sf1784; + static Object sf1785; + static Object sf1786; + static Object sf1787; + static Object sf1788; + static Object sf1789; + static Object sf1790; + static Object sf1791; + static Object sf1792; + static Object sf1793; + static Object sf1794; + static Object sf1795; + static Object sf1796; + static Object sf1797; + static Object sf1798; + static Object sf1799; + static Object sf1800; + static Object sf1801; + static Object sf1802; + static Object sf1803; + static Object sf1804; + static Object sf1805; + static Object sf1806; + static Object sf1807; + static Object sf1808; + static Object sf1809; + static Object sf1810; + static Object sf1811; + static Object sf1812; + static Object sf1813; + static Object sf1814; + static Object sf1815; + static Object sf1816; + static Object sf1817; + static Object sf1818; + static Object sf1819; + static Object sf1820; + static Object sf1821; + static Object sf1822; + static Object sf1823; + static Object sf1824; + static Object sf1825; + static Object sf1826; + static Object sf1827; + static Object sf1828; + static Object sf1829; + static Object sf1830; + static Object sf1831; + static Object sf1832; + static Object sf1833; + static Object sf1834; + static Object sf1835; + static Object sf1836; + static Object sf1837; + static Object sf1838; + static Object sf1839; + static Object sf1840; + static Object sf1841; + static Object sf1842; + static Object sf1843; + static Object sf1844; + static Object sf1845; + static Object sf1846; + static Object sf1847; + static Object sf1848; + static Object sf1849; + static Object sf1850; + static Object sf1851; + static Object sf1852; + static Object sf1853; + static Object sf1854; + static Object sf1855; + static Object sf1856; + static Object sf1857; + static Object sf1858; + static Object sf1859; + static Object sf1860; + static Object sf1861; + static Object sf1862; + static Object sf1863; + static Object sf1864; + static Object sf1865; + static Object sf1866; + static Object sf1867; + static Object sf1868; + static Object sf1869; + static Object sf1870; + static Object sf1871; + static Object sf1872; + static Object sf1873; + static Object sf1874; + static Object sf1875; + static Object sf1876; + static Object sf1877; + static Object sf1878; + static Object sf1879; + static Object sf1880; + static Object sf1881; + static Object sf1882; + static Object sf1883; + static Object sf1884; + static Object sf1885; + static Object sf1886; + static Object sf1887; + static Object sf1888; + static Object sf1889; + static Object sf1890; + static Object sf1891; + static Object sf1892; + static Object sf1893; + static Object sf1894; + static Object sf1895; + static Object sf1896; + static Object sf1897; + static Object sf1898; + static Object sf1899; + static Object sf1900; + static Object sf1901; + static Object sf1902; + static Object sf1903; + static Object sf1904; + static Object sf1905; + static Object sf1906; + static Object sf1907; + static Object sf1908; + static Object sf1909; + static Object sf1910; + static Object sf1911; + static Object sf1912; + static Object sf1913; + static Object sf1914; + static Object sf1915; + static Object sf1916; + static Object sf1917; + static Object sf1918; + static Object sf1919; + static Object sf1920; + static Object sf1921; + static Object sf1922; + static Object sf1923; + static Object sf1924; + static Object sf1925; + static Object sf1926; + static Object sf1927; + static Object sf1928; + static Object sf1929; + static Object sf1930; + static Object sf1931; + static Object sf1932; + static Object sf1933; + static Object sf1934; + static Object sf1935; + static Object sf1936; + static Object sf1937; + static Object sf1938; + static Object sf1939; + static Object sf1940; + static Object sf1941; + static Object sf1942; + static Object sf1943; + static Object sf1944; + static Object sf1945; + static Object sf1946; + static Object sf1947; + static Object sf1948; + static Object sf1949; + static Object sf1950; + static Object sf1951; + static Object sf1952; + static Object sf1953; + static Object sf1954; + static Object sf1955; + static Object sf1956; + static Object sf1957; + static Object sf1958; + static Object sf1959; + static Object sf1960; + static Object sf1961; + static Object sf1962; + static Object sf1963; + static Object sf1964; + static Object sf1965; + static Object sf1966; + static Object sf1967; + static Object sf1968; + static Object sf1969; + static Object sf1970; + static Object sf1971; + static Object sf1972; + static Object sf1973; + static Object sf1974; + static Object sf1975; + static Object sf1976; + static Object sf1977; + static Object sf1978; + static Object sf1979; + static Object sf1980; + static Object sf1981; + static Object sf1982; + static Object sf1983; + static Object sf1984; + static Object sf1985; + static Object sf1986; + static Object sf1987; + static Object sf1988; + static Object sf1989; + static Object sf1990; + static Object sf1991; + static Object sf1992; + static Object sf1993; + static Object sf1994; + static Object sf1995; + static Object sf1996; + static Object sf1997; + static Object sf1998; + static Object sf1999; + static Object sf2000; + static Object sf2001; + static Object sf2002; + static Object sf2003; + static Object sf2004; + static Object sf2005; + static Object sf2006; + static Object sf2007; + static Object sf2008; + static Object sf2009; + static Object sf2010; + static Object sf2011; + static Object sf2012; + static Object sf2013; + static Object sf2014; + static Object sf2015; + static Object sf2016; + static Object sf2017; + static Object sf2018; + static Object sf2019; + static Object sf2020; + static Object sf2021; + static Object sf2022; + static Object sf2023; + static Object sf2024; + static Object sf2025; + static Object sf2026; + static Object sf2027; + static Object sf2028; + static Object sf2029; + static Object sf2030; + static Object sf2031; + static Object sf2032; + static Object sf2033; + static Object sf2034; + static Object sf2035; + static Object sf2036; + static Object sf2037; + static Object sf2038; + static Object sf2039; + static Object sf2040; + static Object sf2041; + static Object sf2042; + static Object sf2043; + static Object sf2044; + static Object sf2045; + static Object sf2046; + static Object sf2047; + static Object sf2048; + static Object sf2049; + static Object sf2050; + static Object sf2051; + static Object sf2052; + static Object sf2053; + static Object sf2054; + static Object sf2055; + static Object sf2056; + static Object sf2057; + static Object sf2058; + static Object sf2059; + static Object sf2060; + static Object sf2061; + static Object sf2062; + static Object sf2063; + static Object sf2064; + static Object sf2065; + static Object sf2066; + static Object sf2067; + static Object sf2068; + static Object sf2069; + static Object sf2070; + static Object sf2071; + static Object sf2072; + static Object sf2073; + static Object sf2074; + static Object sf2075; + static Object sf2076; + static Object sf2077; + static Object sf2078; + static Object sf2079; + static Object sf2080; + static Object sf2081; + static Object sf2082; + static Object sf2083; + static Object sf2084; + static Object sf2085; + static Object sf2086; + static Object sf2087; + static Object sf2088; + static Object sf2089; + static Object sf2090; + static Object sf2091; + static Object sf2092; + static Object sf2093; + static Object sf2094; + static Object sf2095; + static Object sf2096; + static Object sf2097; + static Object sf2098; + static Object sf2099; + static Object sf2100; + static Object sf2101; + static Object sf2102; + static Object sf2103; + static Object sf2104; + static Object sf2105; + static Object sf2106; + static Object sf2107; + static Object sf2108; + static Object sf2109; + static Object sf2110; + static Object sf2111; + static Object sf2112; + static Object sf2113; + static Object sf2114; + static Object sf2115; + static Object sf2116; + static Object sf2117; + static Object sf2118; + static Object sf2119; + static Object sf2120; + static Object sf2121; + static Object sf2122; + static Object sf2123; + static Object sf2124; + static Object sf2125; + static Object sf2126; + static Object sf2127; + static Object sf2128; + static Object sf2129; + static Object sf2130; + static Object sf2131; + static Object sf2132; + static Object sf2133; + static Object sf2134; + static Object sf2135; + static Object sf2136; + static Object sf2137; + static Object sf2138; + static Object sf2139; + static Object sf2140; + static Object sf2141; + static Object sf2142; + static Object sf2143; + static Object sf2144; + static Object sf2145; + static Object sf2146; + static Object sf2147; + static Object sf2148; + static Object sf2149; + static Object sf2150; + static Object sf2151; + static Object sf2152; + static Object sf2153; + static Object sf2154; + static Object sf2155; + static Object sf2156; + static Object sf2157; + static Object sf2158; + static Object sf2159; + static Object sf2160; + static Object sf2161; + static Object sf2162; + static Object sf2163; + static Object sf2164; + static Object sf2165; + static Object sf2166; + static Object sf2167; + static Object sf2168; + static Object sf2169; + static Object sf2170; + static Object sf2171; + static Object sf2172; + static Object sf2173; + static Object sf2174; + static Object sf2175; + static Object sf2176; + static Object sf2177; + static Object sf2178; + static Object sf2179; + static Object sf2180; + static Object sf2181; + static Object sf2182; + static Object sf2183; + static Object sf2184; + static Object sf2185; + static Object sf2186; + static Object sf2187; + static Object sf2188; + static Object sf2189; + static Object sf2190; + static Object sf2191; + static Object sf2192; + static Object sf2193; + static Object sf2194; + static Object sf2195; + static Object sf2196; + static Object sf2197; + static Object sf2198; + static Object sf2199; + static Object sf2200; + static Object sf2201; + static Object sf2202; + static Object sf2203; + static Object sf2204; + static Object sf2205; + static Object sf2206; + static Object sf2207; + static Object sf2208; + static Object sf2209; + static Object sf2210; + static Object sf2211; + static Object sf2212; + static Object sf2213; + static Object sf2214; + static Object sf2215; + static Object sf2216; + static Object sf2217; + static Object sf2218; + static Object sf2219; + static Object sf2220; + static Object sf2221; + static Object sf2222; + static Object sf2223; + static Object sf2224; + static Object sf2225; + static Object sf2226; + static Object sf2227; + static Object sf2228; + static Object sf2229; + static Object sf2230; + static Object sf2231; + static Object sf2232; + static Object sf2233; + static Object sf2234; + static Object sf2235; + static Object sf2236; + static Object sf2237; + static Object sf2238; + static Object sf2239; + static Object sf2240; + static Object sf2241; + static Object sf2242; + static Object sf2243; + static Object sf2244; + static Object sf2245; + static Object sf2246; + static Object sf2247; + static Object sf2248; + static Object sf2249; + static Object sf2250; + static Object sf2251; + static Object sf2252; + static Object sf2253; + static Object sf2254; + static Object sf2255; + static Object sf2256; + static Object sf2257; + static Object sf2258; + static Object sf2259; + static Object sf2260; + static Object sf2261; + static Object sf2262; + static Object sf2263; + static Object sf2264; + static Object sf2265; + static Object sf2266; + static Object sf2267; + static Object sf2268; + static Object sf2269; + static Object sf2270; + static Object sf2271; + static Object sf2272; + static Object sf2273; + static Object sf2274; + static Object sf2275; + static Object sf2276; + static Object sf2277; + static Object sf2278; + static Object sf2279; + static Object sf2280; + static Object sf2281; + static Object sf2282; + static Object sf2283; + static Object sf2284; + static Object sf2285; + static Object sf2286; + static Object sf2287; + static Object sf2288; + static Object sf2289; + static Object sf2290; + static Object sf2291; + static Object sf2292; + static Object sf2293; + static Object sf2294; + static Object sf2295; + static Object sf2296; + static Object sf2297; + static Object sf2298; + static Object sf2299; + static Object sf2300; + static Object sf2301; + static Object sf2302; + static Object sf2303; + static Object sf2304; + static Object sf2305; + static Object sf2306; + static Object sf2307; + static Object sf2308; + static Object sf2309; + static Object sf2310; + static Object sf2311; + static Object sf2312; + static Object sf2313; + static Object sf2314; + static Object sf2315; + static Object sf2316; + static Object sf2317; + static Object sf2318; + static Object sf2319; + static Object sf2320; + static Object sf2321; + static Object sf2322; + static Object sf2323; + static Object sf2324; + static Object sf2325; + static Object sf2326; + static Object sf2327; + static Object sf2328; + static Object sf2329; + static Object sf2330; + static Object sf2331; + static Object sf2332; + static Object sf2333; + static Object sf2334; + static Object sf2335; + static Object sf2336; + static Object sf2337; + static Object sf2338; + static Object sf2339; + static Object sf2340; + static Object sf2341; + static Object sf2342; + static Object sf2343; + static Object sf2344; + static Object sf2345; + static Object sf2346; + static Object sf2347; + static Object sf2348; + static Object sf2349; + static Object sf2350; + static Object sf2351; + static Object sf2352; + static Object sf2353; + static Object sf2354; + static Object sf2355; + static Object sf2356; + static Object sf2357; + static Object sf2358; + static Object sf2359; + static Object sf2360; + static Object sf2361; + static Object sf2362; + static Object sf2363; + static Object sf2364; + static Object sf2365; + static Object sf2366; + static Object sf2367; + static Object sf2368; + static Object sf2369; + static Object sf2370; + static Object sf2371; + static Object sf2372; + static Object sf2373; + static Object sf2374; + static Object sf2375; + static Object sf2376; + static Object sf2377; + static Object sf2378; + static Object sf2379; + static Object sf2380; + static Object sf2381; + static Object sf2382; + static Object sf2383; + static Object sf2384; + static Object sf2385; + static Object sf2386; + static Object sf2387; + static Object sf2388; + static Object sf2389; + static Object sf2390; + static Object sf2391; + static Object sf2392; + static Object sf2393; + static Object sf2394; + static Object sf2395; + static Object sf2396; + static Object sf2397; + static Object sf2398; + static Object sf2399; + static Object sf2400; + static Object sf2401; + static Object sf2402; + static Object sf2403; + static Object sf2404; + static Object sf2405; + static Object sf2406; + static Object sf2407; + static Object sf2408; + static Object sf2409; + static Object sf2410; + static Object sf2411; + static Object sf2412; + static Object sf2413; + static Object sf2414; + static Object sf2415; + static Object sf2416; + static Object sf2417; + static Object sf2418; + static Object sf2419; + static Object sf2420; + static Object sf2421; + static Object sf2422; + static Object sf2423; + static Object sf2424; + static Object sf2425; + static Object sf2426; + static Object sf2427; + static Object sf2428; + static Object sf2429; + static Object sf2430; + static Object sf2431; + static Object sf2432; + static Object sf2433; + static Object sf2434; + static Object sf2435; + static Object sf2436; + static Object sf2437; + static Object sf2438; + static Object sf2439; + static Object sf2440; + static Object sf2441; + static Object sf2442; + static Object sf2443; + static Object sf2444; + static Object sf2445; + static Object sf2446; + static Object sf2447; + static Object sf2448; + static Object sf2449; + static Object sf2450; + static Object sf2451; + static Object sf2452; + static Object sf2453; + static Object sf2454; + static Object sf2455; + static Object sf2456; + static Object sf2457; + static Object sf2458; + static Object sf2459; + static Object sf2460; + static Object sf2461; + static Object sf2462; + static Object sf2463; + static Object sf2464; + static Object sf2465; + static Object sf2466; + static Object sf2467; + static Object sf2468; + static Object sf2469; + static Object sf2470; + static Object sf2471; + static Object sf2472; + static Object sf2473; + static Object sf2474; + static Object sf2475; + static Object sf2476; + static Object sf2477; + static Object sf2478; + static Object sf2479; + static Object sf2480; + static Object sf2481; + static Object sf2482; + static Object sf2483; + static Object sf2484; + static Object sf2485; + static Object sf2486; + static Object sf2487; + static Object sf2488; + static Object sf2489; + static Object sf2490; + static Object sf2491; + static Object sf2492; + static Object sf2493; + static Object sf2494; + static Object sf2495; + static Object sf2496; + static Object sf2497; + static Object sf2498; + static Object sf2499; + static Object sf2500; + static Object sf2501; + static Object sf2502; + static Object sf2503; + static Object sf2504; + static Object sf2505; + static Object sf2506; + static Object sf2507; + static Object sf2508; + static Object sf2509; + static Object sf2510; + static Object sf2511; + static Object sf2512; + static Object sf2513; + static Object sf2514; + static Object sf2515; + static Object sf2516; + static Object sf2517; + static Object sf2518; + static Object sf2519; + static Object sf2520; + static Object sf2521; + static Object sf2522; + static Object sf2523; + static Object sf2524; + static Object sf2525; + static Object sf2526; + static Object sf2527; + static Object sf2528; + static Object sf2529; + static Object sf2530; + static Object sf2531; + static Object sf2532; + static Object sf2533; + static Object sf2534; + static Object sf2535; + static Object sf2536; + static Object sf2537; + static Object sf2538; + static Object sf2539; + static Object sf2540; + static Object sf2541; + static Object sf2542; + static Object sf2543; + static Object sf2544; + static Object sf2545; + static Object sf2546; + static Object sf2547; + static Object sf2548; + static Object sf2549; + static Object sf2550; + static Object sf2551; + static Object sf2552; + static Object sf2553; + static Object sf2554; + static Object sf2555; + static Object sf2556; + static Object sf2557; + static Object sf2558; + static Object sf2559; + static Object sf2560; + static Object sf2561; + static Object sf2562; + static Object sf2563; + static Object sf2564; + static Object sf2565; + static Object sf2566; + static Object sf2567; + static Object sf2568; + static Object sf2569; + static Object sf2570; + static Object sf2571; + static Object sf2572; + static Object sf2573; + static Object sf2574; + static Object sf2575; + static Object sf2576; + static Object sf2577; + static Object sf2578; + static Object sf2579; + static Object sf2580; + static Object sf2581; + static Object sf2582; + static Object sf2583; + static Object sf2584; + static Object sf2585; + static Object sf2586; + static Object sf2587; + static Object sf2588; + static Object sf2589; + static Object sf2590; + static Object sf2591; + static Object sf2592; + static Object sf2593; + static Object sf2594; + static Object sf2595; + static Object sf2596; + static Object sf2597; + static Object sf2598; + static Object sf2599; + static Object sf2600; + static Object sf2601; + static Object sf2602; + static Object sf2603; + static Object sf2604; + static Object sf2605; + static Object sf2606; + static Object sf2607; + static Object sf2608; + static Object sf2609; + static Object sf2610; + static Object sf2611; + static Object sf2612; + static Object sf2613; + static Object sf2614; + static Object sf2615; + static Object sf2616; + static Object sf2617; + static Object sf2618; + static Object sf2619; + static Object sf2620; + static Object sf2621; + static Object sf2622; + static Object sf2623; + static Object sf2624; + static Object sf2625; + static Object sf2626; + static Object sf2627; + static Object sf2628; + static Object sf2629; + static Object sf2630; + static Object sf2631; + static Object sf2632; + static Object sf2633; + static Object sf2634; + static Object sf2635; + static Object sf2636; + static Object sf2637; + static Object sf2638; + static Object sf2639; + static Object sf2640; + static Object sf2641; + static Object sf2642; + static Object sf2643; + static Object sf2644; + static Object sf2645; + static Object sf2646; + static Object sf2647; + static Object sf2648; + static Object sf2649; + static Object sf2650; + static Object sf2651; + static Object sf2652; + static Object sf2653; + static Object sf2654; + static Object sf2655; + static Object sf2656; + static Object sf2657; + static Object sf2658; + static Object sf2659; + static Object sf2660; + static Object sf2661; + static Object sf2662; + static Object sf2663; + static Object sf2664; + static Object sf2665; + static Object sf2666; + static Object sf2667; + static Object sf2668; + static Object sf2669; + static Object sf2670; + static Object sf2671; + static Object sf2672; + static Object sf2673; + static Object sf2674; + static Object sf2675; + static Object sf2676; + static Object sf2677; + static Object sf2678; + static Object sf2679; + static Object sf2680; + static Object sf2681; + static Object sf2682; + static Object sf2683; + static Object sf2684; + static Object sf2685; + static Object sf2686; + static Object sf2687; + static Object sf2688; + static Object sf2689; + static Object sf2690; + static Object sf2691; + static Object sf2692; + static Object sf2693; + static Object sf2694; + static Object sf2695; + static Object sf2696; + static Object sf2697; + static Object sf2698; + static Object sf2699; + static Object sf2700; + static Object sf2701; + static Object sf2702; + static Object sf2703; + static Object sf2704; + static Object sf2705; + static Object sf2706; + static Object sf2707; + static Object sf2708; + static Object sf2709; + static Object sf2710; + static Object sf2711; + static Object sf2712; + static Object sf2713; + static Object sf2714; + static Object sf2715; + static Object sf2716; + static Object sf2717; + static Object sf2718; + static Object sf2719; + static Object sf2720; + static Object sf2721; + static Object sf2722; + static Object sf2723; + static Object sf2724; + static Object sf2725; + static Object sf2726; + static Object sf2727; + static Object sf2728; + static Object sf2729; + static Object sf2730; + static Object sf2731; + static Object sf2732; + static Object sf2733; + static Object sf2734; + static Object sf2735; + static Object sf2736; + static Object sf2737; + static Object sf2738; + static Object sf2739; + static Object sf2740; + static Object sf2741; + static Object sf2742; + static Object sf2743; + static Object sf2744; + static Object sf2745; + static Object sf2746; + static Object sf2747; + static Object sf2748; + static Object sf2749; + static Object sf2750; + static Object sf2751; + static Object sf2752; + static Object sf2753; + static Object sf2754; + static Object sf2755; + static Object sf2756; + static Object sf2757; + static Object sf2758; + static Object sf2759; + static Object sf2760; + static Object sf2761; + static Object sf2762; + static Object sf2763; + static Object sf2764; + static Object sf2765; + static Object sf2766; + static Object sf2767; + static Object sf2768; + static Object sf2769; + static Object sf2770; + static Object sf2771; + static Object sf2772; + static Object sf2773; + static Object sf2774; + static Object sf2775; + static Object sf2776; + static Object sf2777; + static Object sf2778; + static Object sf2779; + static Object sf2780; + static Object sf2781; + static Object sf2782; + static Object sf2783; + static Object sf2784; + static Object sf2785; + static Object sf2786; + static Object sf2787; + static Object sf2788; + static Object sf2789; + static Object sf2790; + static Object sf2791; + static Object sf2792; + static Object sf2793; + static Object sf2794; + static Object sf2795; + static Object sf2796; + static Object sf2797; + static Object sf2798; + static Object sf2799; + static Object sf2800; + static Object sf2801; + static Object sf2802; + static Object sf2803; + static Object sf2804; + static Object sf2805; + static Object sf2806; + static Object sf2807; + static Object sf2808; + static Object sf2809; + static Object sf2810; + static Object sf2811; + static Object sf2812; + static Object sf2813; + static Object sf2814; + static Object sf2815; + static Object sf2816; + static Object sf2817; + static Object sf2818; + static Object sf2819; + static Object sf2820; + static Object sf2821; + static Object sf2822; + static Object sf2823; + static Object sf2824; + static Object sf2825; + static Object sf2826; + static Object sf2827; + static Object sf2828; + static Object sf2829; + static Object sf2830; + static Object sf2831; + static Object sf2832; + static Object sf2833; + static Object sf2834; + static Object sf2835; + static Object sf2836; + static Object sf2837; + static Object sf2838; + static Object sf2839; + static Object sf2840; + static Object sf2841; + static Object sf2842; + static Object sf2843; + static Object sf2844; + static Object sf2845; + static Object sf2846; + static Object sf2847; + static Object sf2848; + static Object sf2849; + static Object sf2850; + static Object sf2851; + static Object sf2852; + static Object sf2853; + static Object sf2854; + static Object sf2855; + static Object sf2856; + static Object sf2857; + static Object sf2858; + static Object sf2859; + static Object sf2860; + static Object sf2861; + static Object sf2862; + static Object sf2863; + static Object sf2864; + static Object sf2865; + static Object sf2866; + static Object sf2867; + static Object sf2868; + static Object sf2869; + static Object sf2870; + static Object sf2871; + static Object sf2872; + static Object sf2873; + static Object sf2874; + static Object sf2875; + static Object sf2876; + static Object sf2877; + static Object sf2878; + static Object sf2879; + static Object sf2880; + static Object sf2881; + static Object sf2882; + static Object sf2883; + static Object sf2884; + static Object sf2885; + static Object sf2886; + static Object sf2887; + static Object sf2888; + static Object sf2889; + static Object sf2890; + static Object sf2891; + static Object sf2892; + static Object sf2893; + static Object sf2894; + static Object sf2895; + static Object sf2896; + static Object sf2897; + static Object sf2898; + static Object sf2899; + static Object sf2900; + static Object sf2901; + static Object sf2902; + static Object sf2903; + static Object sf2904; + static Object sf2905; + static Object sf2906; + static Object sf2907; + static Object sf2908; + static Object sf2909; + static Object sf2910; + static Object sf2911; + static Object sf2912; + static Object sf2913; + static Object sf2914; + static Object sf2915; + static Object sf2916; + static Object sf2917; + static Object sf2918; + static Object sf2919; + static Object sf2920; + static Object sf2921; + static Object sf2922; + static Object sf2923; + static Object sf2924; + static Object sf2925; + static Object sf2926; + static Object sf2927; + static Object sf2928; + static Object sf2929; + static Object sf2930; + static Object sf2931; + static Object sf2932; + static Object sf2933; + static Object sf2934; + static Object sf2935; + static Object sf2936; + static Object sf2937; + static Object sf2938; + static Object sf2939; + static Object sf2940; + static Object sf2941; + static Object sf2942; + static Object sf2943; + static Object sf2944; + static Object sf2945; + static Object sf2946; + static Object sf2947; + static Object sf2948; + static Object sf2949; + static Object sf2950; + static Object sf2951; + static Object sf2952; + static Object sf2953; + static Object sf2954; + static Object sf2955; + static Object sf2956; + static Object sf2957; + static Object sf2958; + static Object sf2959; + static Object sf2960; + static Object sf2961; + static Object sf2962; + static Object sf2963; + static Object sf2964; + static Object sf2965; + static Object sf2966; + static Object sf2967; + static Object sf2968; + static Object sf2969; + static Object sf2970; + static Object sf2971; + static Object sf2972; + static Object sf2973; + static Object sf2974; + static Object sf2975; + static Object sf2976; + static Object sf2977; + static Object sf2978; + static Object sf2979; + static Object sf2980; + static Object sf2981; + static Object sf2982; + static Object sf2983; + static Object sf2984; + static Object sf2985; + static Object sf2986; + static Object sf2987; + static Object sf2988; + static Object sf2989; + static Object sf2990; + static Object sf2991; + static Object sf2992; + static Object sf2993; + static Object sf2994; + static Object sf2995; + static Object sf2996; + static Object sf2997; + static Object sf2998; + static Object sf2999; + static Object sf3000; + } + +} |