Air 3.7 (android)  javascript issue in stagewebview

Hi
I have simple javascript code runing in stagewebview:
//  javascript atob() is used for  base64 decoding.
var serializeObject = JSON.parse(atob("eyJjYWxsQmFjayI6IltTV1ZDYWxsQmFja11pbml0SlMiLCJtZXRob2QiOiJpbml0SlMiLCJh cmd1bWVudHMiOltdfQ=="));
alert(serializeObject.method);
publishing in AIR 3.5 -android,  the code works, but publishing in AIR 3.7 failed.
thanks for any help in adavance!
thanks,
Jackie

Hi Nimitja,
Here is the sample application.
https://www.dropbox.com/sh/r4f19h1gchvylcp/MVtXf83I5v
(1) I used Flash cs6 with AIR 3.5 and 3.7
(2) tested movie in cs6 (ctrl+enter), air 3.5 worked, but air 3.7 failed
thanks,
Jackie

Similar Messages

  • I have a mac book air. Have had no issues with any virus before but today my safari page keeps directing me to a page which says " cyber crime" posing to be by Cheshire Police AUthority uk metropolitan police.Tells me that I have 24 hours

    I have a mac book air. Have had no issues with any virus before but today my safari page keeps directing me to a page which says " cyber crime" posing to be by Cheshire Police AUthority uk metropolitan police.Tells me that I have 24 hours to pay a 100 pounds.Using my ipad I looked it up and it appears to be a very common virus.I am worried about my Mac(relieved at the same time that I am not a cyber criminal
    !) so anyway what should I do.I tried to fonce quit and then open safari but only that page keeps opening up.Looking up online their was a suggestion to reset safari, but I am unable to click on the reset safari tab as the pop up for stay on page keeps coming up.i have switched off my lap top now.But am really worried.How can I get rid of it?

    It's not a virus. It's a JavaScript scam that only affects your web browser, and only temporarily.
    Some of those scam pages can be dismissed very easily. Press command-W to close the tab or window. A huge box will pop up. Press the return key and both the box and the page will close. If that doesn't happen, continue.
    From the Safari menu bar, select
              Safari ▹ Preferences... ▹ Security
    and uncheck the box marked Enable JavaScript. Leave the preferences dialog open.
    Close the malicious window or tab.
    Re-enable JavaScript and close the preferences dialog.
    If the Preferences menu item is grayed out, quit Safari. Force quit if necessary. Relaunch it by holding down the shift key and clicking its icon in the Dock. From the menu bar, select
              Safari ▹ Preferences... ▹ Privacy ▹ Remove All Website Data
    to get rid of any cookies or other data left by the server. Open your Downloads folder and delete anything you don't recognize.

  • AIR 3.7 Android 4.3 - Play Store Install not possible

    Hi,
    this is just to inform people with AIR 3.7 Android Apps at the Google Play Store.
    We have an App at the Google Play Store which was compiled with AIR 3.7.
    This App was running fine till updating a Device to Android 4.3.
    Now this App can NOT be installed anymore via the Google Play Store.
    The error is: Package is not signed correct.
    We will now compile the App with AIR 3.8 and resubmit it or is there anything else we can do?
    Best regards,
    Roman

    Pahup thank you for the quick reply.
    I have not tested on a 4.3 device (do not have access to one yet), but I did test on a 4.0 device and everything worked well.
    The quotes I posted are just on version 2.0.2 which was built with 3.7.0.209. There were a few complaints on the previous version 2.0.0 which was built with 3.7.0.1860, but not as many.
    I am able to install the app both from Google Play and by downloading it off DropBox and allowing foreign files to install on my devices, it works great on all my test devices but some users, most of whom are not running 4.3, are having issues.
    Previous to 2.0.0 the app was probably built with 3.6, it has been a while since the update before 2.0.0.
    The paid app is also running 3.7.0.209. I got excited and update both apps yesterday and both are having similar issues, less comments on the paid one because less users obviously. I am now rolling out 2.0.3 update for the free app which uses 3.8.0.1040 if that fixes the issues I will update the paid one as well, if not then I am rolling it back to 3.7.0.1860. I don't like exprimenting on live users for obvious reasons, app has over 5 million downloads so it is a good sampling if nothing else.

  • Avast deny adobe air with ane @android platform

    report as android:OpFake-FE[Trj]

    Hello,
    It seems all Adobe Air applications are facing this issue.
    see : http://forum.avast.com/index.php?board=37.0

  • CRM 2013 - Inconsistent javascript issue crash the web client and user needs to reopen

    Hello,
    We are using CRM 2013 on premise version and almost 600 users are using it. We have some inconsistent JavaScript issue (following is the log for same) which happens to users in a day or two. When this issue occurs user can not work in system and they have
    to open new instance of CRM.
    Does anybody knows about this error?
    <CrmScriptErrorReport>
      <ReportVersion>1.0</ReportVersion>
      <ScriptErrorDetails>
       <Message>Unable to get property 'location' of undefined or null reference</Message>
       <Line>1</Line>
       <URL>/_static/_common/scripts/main.js?ver=1676323357</URL>
       <PageURL>/main.aspx#313155368</PageURL>
       <Function>anonymous($p0,$p1,$p2){this.$3_3.get_currentIFrame()&&Mscrm.PerformanceTracing.write("Unload",this.$3_3.get_currentIFrame().src);this.$H_3=$p0.toString();this.$26_3();this.$1A_3();this.$1J_3();if($p0.get_isLocalServer())$p0.get_query()["pagemode"]="iframe</Function>
       <CallStack>
        <Function>anonymous($p0,$p1,$p2){this.$3_3.get_currentIFrame()&&Mscrm.PerformanceTracing.write("Unload",this.$3_3.get_currentIFrame().src);this.$H_3=$p0.toString();this.$26_3();this.$1A_3();this.$1J_3();if($p0.get_isLocalServer())$p0.get_query()["pagemode"]="iframe";addPassiveAuthParameters($p0);var$v_0=$p0.toString();if(IsNull($p2))$p2=false;var$v_1=this.$18_3($p0,$p2);if($v_1){if(this.$2z_3()){window.location.reload();return}this.$2d_3();this.$1s_3();Mscrm.PerformanceTracing.write("Navigate",$v_0);!Mscrm.Utilities.isIE()&&this.raiseEvent(Mscrm.ScriptEvents.UpdateTopLocation,null);this.$3_3.get_currentIFrame().contentWindow.location.replace($v_0)}else{this.$10_3();var$v_2=this.get_contentWindow().Sys.Application.findComponent("crmPageManager");if($v_2){!Mscrm.Utilities.isIE()&&$v_2.raiseEvent(Mscrm.ScriptEvents.UpdateTopLocation,null);var$v_3={};$v_3["sourceUri"]=Mscrm.Utilities.getContentUrl(null);$v_2.raiseEvent(Mscrm.ScriptEvents.IFrameReactivated,$v_3)}}window.self.InnerIFrameSrcChangeTimestamp=(newDate).getTime();this.title=$p1;if(window.LOCID_UI_DIR==="RTL"&&$p0.toString().indexOf("PersonalWall")>=0&&window.UseTabletExperience)this.$3_3.get_currentIFrame().style.position="RELATIVE"}</Function>
       </CallStack>
      </ScriptErrorDetails>
      <ClientInformation>
       <BrowserUserAgent>Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)</BrowserUserAgent>
       <BrowserLanguage>en-US</BrowserLanguage>
       <SystemLanguage>en-US</SystemLanguage>
       <UserLanguage>en-US</UserLanguage>
       <ScreenResolution>1366x768</ScreenResolution>
       <ClientName>Web</ClientName>
       <ClientTime>2015-04-20T15:41:12</ClientTime>
      </ClientInformation>
      <ServerInformation>
        <OrgLanguage>1033</OrgLanguage>
        <OrgCulture>1033</OrgCulture>
        <UserLanguage>1033</UserLanguage>
        <UserCulture>1033</UserCulture>
        <OrgID>{E8BBA7AE-A552-DE11-B475-001E0B4882E2}</OrgID>
        <UserID>{614837CD-448B-DE11-A5E1-005056970D6C}</UserID>
        <CRMVersion>6.1.2.112</CRMVersion>
      </ServerInformation>
    </CrmScriptErrorReport>

    Are you on-premise, or on-line? : It's on-premise
    Can you reproduce it on-demand, or is it sporadic?: It's sporadic
    There is a mention of loading an iFrame in the error, do you have iFrames on the form that generates this error?
    It's not on specific forms, so can't identify that. Yes we have iframes on some forms.
    Does it happen on any/all entity forms, or specific ones?  Do the entity forms have any custom JavaScript on them?
    It's not on specific forms. And yes we have javascript on almost all forms.
    Do you have any network problems or slowness in your network? Does the problem happen when the network is busy?
    We need to check this on next occurrence.
    Do the users that see this error have any unusual add-ins or toolbars in their browser?  This is not for specific user. Its happening for all randomly.
    Have you tried other browsers like Chrome or FireFox and do users see the problem there as well?
    We need to check only for IE.

  • How can I download Adobe air 0n a android tablet PC Intel TA10CA3 it keeps saying error 24

    How can I download Adobe air 0n a android tablet PC Intel TA10CA3 it keeps saying error 24

    Hi Akad,
    Did you found any solucion to your problem?
    I'm having the same problem with my tablet.
    The same code works on others devices but not on my tablet.
    I believe we are using the same tablet.
    Please send me an E-mail when you can.
    My email: [email protected]
    Hope you found the solucion.

  • AIR Runtime on Android Emulator

    Greets,
    I've a problem with AIR Runtime on Android Emulator: after I installed the runtime apk  (everything goes fine) i try to install the helloworld.apk compiled with Flash CS5 + Andr ext.
    Well, i receive this message "INSTALLED FAILED INVALID APK"
    Anyone knows causes?

    >>Only one more question: can you explain me why everytime I compile i got this messsage back?
    >>"No libraries were linked as Runtime Shared Libraries (RSLs) because of your publish settings: AIR Android"
    Flash CS doesn't let you link Libraries as RSLs in Android. Probably you are using a standard library that, by default is linked as an RSL. The warning is just to let you know that the link setting is being overridden. (The Text Layout Framework is the most likely library.) If you aren't intentionally using RSLs, or don't even know what an RSL is, you can ignore the warning.

  • How to Install Air file in Android phone

    Hi,
    I have created a help system using RoboHelp and created adobe Air file. I want to install the help file in my Android phone. how do i install the help in my phone. I have installed Adobe Air application through Android market. but i am unable to install the air application. is there a way to convert the AIR file as PKG and install it?
    please help.
    thanks.

    Follow up - just found this thread - http://forums.adobe.com/thread/887118?tstart=0
    You're out of luck - go hit the wish list form at: http://www.adobe.com/cfusion/mmform/index.cfm?name=wishform&product=38

  • "air" Object undefined, using JavaScript.

    Hello,
    I'm using Adobe Air to extend the functionality of an
    existing web client (allowing access to file-system, etc). The web
    client is programmed in JavaScript.
    Because the source code of the web client is pretty big, I
    would like to avoid code branches. That is, I would like the web
    client to run in the "improved" mode, if and only if it detects
    it's running in an Adobe Air environment, otherwise it must behave
    normally. This makes sense because the number of added
    functionalities is quite small.
    I started by creating a HTML Air application that displays a
    login panel with three fields:
    - server
    - username
    - password
    The web client is deployed on a server. I want to avoid
    packaging the whole web client + server in the Adobe Air
    application. That doesn't make sense for my purpose. This is the
    reason why I added a "server" field in the login page: the user can
    enter the URL of the server he wants to connect to.
    When the user clicks on the login button, the application
    posts the real login page of the web client (with AJAX) and it gets
    a session id cookie. Finally, I load the web client with:
    window.location.href =
    http://www.example.site/path/to/index.jsp
    After this line of code is executed, I can see the web client
    running in my Air application. Now, to extend its functionality I
    have to add some Air code in its JavaScript files.
    So I added the following code to the index page.
    <script type="text/javascript"
    src="path/to/AIRAliases.js"></script>
    and I started editing a JavaScript file:
    if (air) { // We are running in an Air environment
    // improved code
    } else { // We are running in a browser
    // normal code
    The problem is that the "air" object is always undefined. I
    though this was a problem of AIRAliases.js, but it wasn't the case:
    "window.runtime" is also undefined.
    It seems like "window.runtime" is undefined after any
    "window.location.href = ..." instruction.
    Is this normal?
    Is there another way to load a website in an Air application,
    giving it access to the "air" object?
    Thank you,
    Matthew

    Thank you Joe for the explanations. I had a deep look at the
    documentation about sandboxes.
    I'm now able to set up a bridge between my remote client's
    javascripts and the "dangerous" functions with access to the full
    Air API.
    However, I still have a big problem.
    My remote web client displays a list of files (that's a very
    simplified description). What I would like to do is letting the
    users drag-and-drop files from the desktop into the files' list
    (that would be the drop zone). Then, they will be automatically
    uploaded to the server.
    The problem is that I can't access the "getData" method of
    the "drop" event I get in the event handler:
    dropZone.addEventListener("drop", function(e) {
    window.parentSandboxBridge.upload(e.dataTransfer.getData("application/x-vnd.adobe.air.fil e-list")[0]);
    I also tried moving the event handler in the app sandbox but
    it didn't work:
    dropZone.addEventListener("drop",
    window.parentSandboxBridge.dropEventHandler);
    The error I get is always something like getData is
    undefined.
    How can I solve this?
    Thanks
    Matthew

  • Associate file extension with air app on Android

    Hi,
    I am trying to associate a file extension with my air app on Android. My goal is to be able to start my app by clicking on a file with a specific file type from either a file manager or mail app. I have found a solution that in theory would work in native, but does not with air somehow.
    In the .xml-file for the app, under the <android> tag I have written:
    <activity>
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="file" />
                <data android:pathPattern=".*\\.csml" />
                <data android:host="*" />
            </intent-filter>
        </activity>
    Does anyone have an idea how this could be solved?
    Thanks in advance
    Jens

    If it works in a native app, it should also work in an AIR app in this case. Can you verify that it does work in a native app?
    See also:
    http://www.mail-archive.com/[email protected]/msg47862.html//www.mail-archive.com/[email protected]/msg47862.html
    http://stackoverflow.com/questions/1733195/android-intent-filter-for-a-particular-file-ext ension

  • Open pdf from an Air application for Android

    Hi at all,
    i'm developing an AIR Application for Android devices.
    Into the app there is a button which should open a pdf file with the default pdf reader (multitasking), but doesn't work!
    I've an Android Emulator (2.2).
    This is the code
    protected function openClickHandler():void
            f.openWithDefaultApplication();
    f is a File object which points to pdf into the storage folder.
    Any suggest! Help!!
    Thanks.
    F.

    Specific use cases from developers is one way Adobe prioritizes feature development. That's why whenever you request a feature, the response will often include a request for a use case -- even if the use of the feature seems self-evident. Your use case could add more value to a potential feature beyond the self-evident.
    Thanks!

  • Can I run an html/javascript AIR app on Android or iOS?

    Is it possible to compile an already-existing HTML/javascript app to install/run it on any mobile OS (Android or iOS, in particular)? I haven't found anything that says it's possible, only instructions for doing it with a Flash/Flex based AIR app.
    I have a large html/javascript app, with a lot of value put into it, and my client would like to be able to package it for use on tablets. Ideally, I'd like to be able to not only have it run there, but also be able to "hide" the html/js code from prying eyes, if there's a way to do that.
    Thanks much in advance... I've done considerable research trying to get an answer to these questions.
    - Jack

    Hi Ross,
    the certificate used for APK files is a self-signed one so at this point, no need to use Google Console yet.
    See http://helpx.adobe.com/digital-publishing-suite/kb/publishing-process-android-amazon-mobil e.html (Create a certificate file using Keytool)
    Testing is only a matter of installing the APK file on the device where you should be able to test.
    The Android developer account will be useful for testing if you have in-app purchases matching 'retail' folios.

  • AIR for Android video issue

    On Android, in an app that I’ve developed successfully for iOS, I’m seeing this problem:
    There are 5 videos built-into the app. On Samsung phones (S3 and S4), running Android 4.4.2, at the first attempt to play a video there’s sound but no picture. After returning to the video menu and attempting again, video and sound play normally. If a video is stopped and another one is started, initially a frame of the previous video is displayed (for a fraction of a second), then play resumes normally with the chosen video.
    The sound-but-no-video problem does NOT show up on a Nexus 7 running 4.4.3, although the flash-frame problem does.
    I’m publishing with AIR SDK 15 packaging both with and without captive runtime to try to isolate the source of the problem. I’m using <contains video> true </contains video> in the descriptor.
    This feels like AIR-for-Android buggishness. Any confirmation out there? Similar problems? Workarounds?
    I’ve read somewhere that AIR runtime  v.3.3 may solve some video problems on Android, but not sure where to find an archived Android version of AIR that old.

    Well, as it sometimes happens with me, I have spoken too soon. The answer that I marked as ‘correct’ the other day (Colin, are you there?), seems to be not quite the right answer. At least, it doesn’t solve the video problem that I’m having with some, but not all, Android devices.
    After trying Colin’s suggestion – using  if (stage.stageVideos.length != 0) to make sure that a stageVideoAvailabilityEvent hasn’t already fired when I try to play my first StageVideo instance – and getting perfect results in 10 consecutive tries on my Samsung S4 and S3 phones, I figured that was IT.
    Next day, same devices and same code, it DIDN’T work! I pulled hair, issued profanities, hammered on the table. It didn’t matter—I still got a ‘mis-fire’ on the first play of a video whenever (almost whenever) I opened the app. After the first play everything was good – which is the exact problem that I started with many days ago. When I played Colin’s Sesame Street ‘Let’s Get Ready’ app again – the same first-play-of-video problem shows up there too.
    This problem does not show up on Nexus 7  and the Samsung Galaxy 5 Tab. It is a royal p.i.t.a. on Samsung phones, where I need my app to work.
    I created a bare-bones app to reproduce the problem, code below. Just a single class to play a single video with no controls. A few parameters (path to the video, and viewport stuff) are passed in from the document Class. I run it 10 times on my S4. It fails 7 times and plays well 3 times. The 'initialize2()' function never fires, proving that the stageVideos array already exists by the the time the 'initialize1()' function is called.
    I'm pretty sure that this is not a coding problem (because it works well on some Androids and in iOS), but WHAT is it??
    package vidTestSource
      import flash.desktop.NativeApplication;
      import flash.desktop.SystemIdleMode;
      import flash.display.MovieClip;
      import flash.display.Sprite;
      import flash.display.StageAlign;
      import flash.display.StageScaleMode;
      import flash.events.Event;
      import flash.events.NetStatusEvent;
      import flash.events.StageVideoAvailabilityEvent;
      import flash.geom.Rectangle;
      import flash.media.StageVideo;
      import flash.media.Video;
      import flash.media.StageVideoAvailability;
      import flash.net.NetConnection;
      import flash.net.NetStream;
      public class MobileVideosolo extends MovieClip
          public var stream:NetStream ;
          public var video:StageVideo;
          var xx:Number;
          var yy:Number;
          var ww:Number;
          var hh:Number;
          var mymoov:String;
      public function MobileVideosolo(mymoov,xx,yy,ww,hh)
          this.xx = xx;
          this.yy = yy;
          this.ww = ww;
          this.hh = hh;
          this.mymoov = mymoov;
         addEventListener(Event.ADDED_TO_STAGE, onstage);
    function onstage(e)
        if (stage.stageVideos.length != 0)
           initialize1();
         else
          stage.addEventListener(StageVideoAvailabilityEvent.STAGE_VIDEO_AVAILABILITY, stageVideoState );
    function stageVideoState(e)
           initialize2();
           stage.removeEventListener (StageVideoAvailabilityEvent.STAGE_VIDEO_AVAILABILITY, stageVideoState);
    function initialize1()
          var nc:NetConnection = new NetConnection() ;
          nc.connect(null) ;
          stream = new NetStream(nc) ;
          stream.client = this ;
          video = stage.stageVideos[0] ;
          video.viewPort = new Rectangle(xx,yy,ww,hh) ;
          video.attachNetStream(stream) ;
          stream.play (mymoov) ;
          MovieClip(parent).sVtext.text = "Init 1";
          stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
    function initialize2()
        var nc:NetConnection = new NetConnection() ;
         nc.connect(null) ;
         stream = new NetStream(nc) ;
         stream.client = this ;
         video = stage.stageVideos[0] ;
         video.viewPort = new Rectangle(xx,yy,ww,hh) ;
         video.attachNetStream(stream) ;
         stream.play (mymoov) ;
         MovieClip(parent).sVtext.text = "Init 2";
         stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);

  • AIR 3.6 + Android 4.1.2 + StageText + Tap Text To Select issue

    Hi,
    Have anyone experience the follwoing?. When tapping the StageText to select the text, the app moves up, the StageText moves down (originally the text appears in the text box, see the screenshot) and the top menu in Android (Menu to Cut, paste etc)  goes behind the status bar, see screenshot. In general the StageText seems to beahve very erractic and very bad in Android (I dont know if it is specific for a certain Android OS or not). Any tricks, tips to make the StageText behave a bit more decently in Android?

    Thanks for reporting the issue, Could you please raise it as a bug @ bugbase.adobe.com. Also, please do upload a sample application/sources and steps to demonstrate the problem. Also, please mention the device you're facing problem on.
    Please share the bug number here for reference.
    -Thanks
    Pahup

  • Flash Builder 4.7 won't debug air app on Android devices  anymore

    Hi there,
    A strange thing happened today to my Flash Builer 4.7 installation on OS 10.8.5 : it suddenly refused installing and debugging AIR apps.
    At -the famous- 57% of compilation completion I can see the "installing app on device" message, but nothing happens then, and the one minute connection to app timeout is finally triggered.
    I had a look at other threads dealing with this problem here http://forums.adobe.com/thread/1154269 and here http://www.androidpolice.com/2013/02/12/new-android-4-2-2-feature-usb-debug-whitelist-prev ents-adb-savvy-thieves-from-stealing-your-data-in-some-situations/ and I downloaded the latets Android SDK and replaced a bunch of files into the /Applications/Adobe Flash Builder 4.6/sdks/4.6.0/lib/android/bin folder but nothing worked.
    The fun side of the issue is that yesterday it worked, and this morning it did not worked anymore, but I swear I did not ugraded Android on my phone nor I upgraded AIR SDK in FLash Builder or OS X. The Android phone is the same as usual, a Nexus 4 with Android 4.3, that I upgraded 1 month ago.
    I can't debug my Android app anymore, this drives me crazy, and I spent the day trying to find a solution.
    Do you guys had a similar problem ?

    My mistake...
    There was a typo into the XML application descriptor, that prevented the app to install properly on the device.
    Precisely, it wasn't a typo but raher a malformed <intent-filter> node. I launched adb tool from the console with adb install MyApp.apk command, and I saw this : Failure [INSTALL_PARSE_FAILED_MANIFEST_MALFORMED] in the terminal. From here it was easy to find the culprit.
    What would be cool is to have this feature inside the Flash Builder's Console panel.

Maybe you are looking for

  • How to find out the printer name for the Idoc

    Hi guys I want to find out the printer name for the Idoc,,some default printer is attached for one idoc,then how can we see the printer name for this idoc. Regards Madhoo

  • Any one has experience to share full harddisk ghost backup on Ideapad U165?

    My friend have me his new Ideapad U165 for testing the notebook for him. I would like to backup with ghost before I start the system.  Should I remove the whole to perform from other Desktop/laptop through SATA>USB converter cable?  Friend of mine re

  • Writing dynamic data and extract it latter

    i want to write a waveform in a file so that in future i can see the saved waveform on the graph dynamically, i mean if i save the dynamic data for 3 hours can i get the data running on the graph for 3 hours in future please help........

  • Regarding the details abt the classification stored in MM03

    Hi experts, In the T.Code MM03 der is one tab CLASSIFICATION In dis tab the classifications of the individual material is stored. I want to know where it is stored in the database (i.e the table name where dis data is stored) since i am not getting t

  • Empty email messsages

    Can anyone tell me why messages from a particular sender can be completely empty with no content whatsoever. It is only happening with one person and usually when she sends emails with pictures in them.